Thursday, July 22, 2010

Ruby - "defined?" method

Hi all,

In ruby we are having many methods to check whether the variable defined or not. Mostly we are using the following condition to check the variable defined or not

Code:
if local_variable
puts "local variable exists"
else
puts "local_variable does not exists"
end

But there is another way to check the variable defined or not.

sample-code:

a = 10
puts defined?(a).inspect => "local-variable"
puts defined?(b).inspect => nil

So, the method returns the value "local-variable" for the already defined variables and "nil" for the undefined variables.

Hope hereafter you guys using the method "defined?" to check the variable already defined or not.

Cheers,
Vadivelan

Monday, May 24, 2010

ruby math functions

Hi all,

Here i have listed some of the most frequently used math functions in ruby.

round method rounds the value
if decimal value is less than .5, rounded to its lowest value
irb(main):006:0> 1.2.round
=> 1
if decimal value is greater than .4, rounded to its highest value
irb(main):007:0> 1.5.round
=> 2

floor method rounded the value to lowest value
irb(main):008:0> 1.5.floor
=> 1

ceil method rounded the value to next highest value
irb(main):009:0> 1.5.ceil
=> 2

'nan' method used to check whether the value is integer or not
irb(main):010:0> x = 0.0/0.0
=> NaN

irb(main):011:0> x.nan?
=> true

Get ASCII value
irb(main):017:0> Integer(?e)
=> 101

irb(main):018:0> Float(?e)
=> 101.0

>> "%.2f" % (1.0/2.0)
=> "0.50"

The last method is mainly used for display purpose. We have to display the floating point number in any page(say to display the cost) we must modify the output in such a way to get clear display(Max of 2 numbers after decimal point in this case).


Thanks,
Vadivelan

Some more uses of '$' in prototype javascript

Hi all,

We are all using the '$' in prototype javascript to get the object of the matched DOM element by using id of the element.

Say for example:

the page has the div element

content inside the div element


To get the object of the div element we are using the '$'.

$('container') => returns the object of the DOM element.

$A/$W/$F => are also available but rarely used..

the below lines explain the use of the $A/$W/$F

// converts a string into array, each element is taken as a count
>>> $A('1')
['1']
>>> $A('123')
["1", "2", "3"]

// converts a string into array, it takes whitespace as delimiters
>>> $w('1 2 3')
["1", "2", "3"]

// used to get values of text field which is located inside any forms
// same as Form.Element.getValue
>>> $F('press_room_url')

So start using these commands makes the code simpler..


Thanks,
Vadivelan

Wednesday, March 31, 2010

jQuery with rails

Hi all,

I have used the jquery js prototype recently, it has lots of more usage than our prototype.js. Easy to code using jQuery.js.

But in my rails application i have used both prototype.js & jquery.js. In this situation the $ gets conflict. To avoid conflict, use the line of code

First include prototype.js, then add jQuery.js after that you must add this line to avoid ($)conflict


Once you done this, you can enjoy the usage of both prototype.js & jQuery.js.

i.e., both $ and $j is available to access.

$('id_of_dom_elemnt') => returns (prototype)object of the html element
$j('#id_of_dom_element') => return (jquery)object of the html element

In jQuery, we have to add '#' symbol with id of dom element to find the element.

Enjoy coding with jQuery...

thanks,

Saturday, January 23, 2010

JSON startup

JSON - javascript object notation

To know about the JSON, first go through the following basics in js.

Array:

var arr = new Array("first", "second", "third", "fourth");

Retrieve value from array

arr[0] => "first"
arr[1] => "second"


Object:

var sample_object = {
"name1" : "value1",
"name2" : "value2",
"name3" : "value3",
"name4" : "value4"
}

sample_object.name1 => "value1"
sample_object["name1"] => "value1"



Objects in Array

var object_array = [
{
"first_element" : "first_value"
},
{
"second_element" : "second_value"
}
]
object_array[0] => returns first object
object_array[1].second_element => second object value


Arrays in Object:

var sample_object = {
"name1" : "value1",
"name4" : [1,2,3,4]
}
sample_object.name4 => [1,2,3,4]
sample_object.name4[0] => 1

var str_json = JSON.stringify(sample_object);
var js_object = JSON.parse(str_json);
JSON.parse(strJSON) - converts a JSON string into a JavaScript object.
JSON.stringify(objJSON) - converts a JavaScript object into a JSON string.

Monday, December 7, 2009

Watir tips

Hi Guys,

Waitr is a ruby gem used in testing. It has many uses, mostly it is used to control the web browser(all html dom elements as objects).

installation command:-
gem install waitr

Some sample use of watir

1. Starting a new Web browser
require 'watir'
ie = Watir::Browser.new
ie.goto("http://www.google.com")

2. Starting a firefox browser
require 'watir'
Watir::Browser.default = "firefox"
ff = Watir::Browser.start("http://www.google.com")

3.Setting a text field with some value

ie.text_field(:name, "username").set "Vaddi"

4. Setting value of select list

ie.select_list( :name , "category").select("Comedy")

For all the DOM elements, it has objects(for text box - 'text_field', for drop down - 'select_list')

thanks,

Friday, December 4, 2009

for loop - js

In javascript, to read the array index and their appropriate value.

Use the following way,

var a = Array.new(); declare new array with name 'a'
a = [1,2,3,4,5]; assign some values to array
var indexes = function show(value, indx){
alert(indx);
alert(value);
}
a.forEach(indexes);
'forEach' method is used to collect the values from the array.

By using the method 'forEach', we can collect each element from array.

Try this..