class RubyStock

def initialize
end

require 'net/http'

def RubyStock::getStocks(*symbols)
        Hash[*(symbols.collect{|symbol|[symbol,Hash[\
        *(Net::HTTP.get('quote.yahoo.com','/d?f=nl1&s='+symbol).chop\
        .split(',').unshift("Name").insert(2,"Price"))]];}.flatten)];
    end
end
myHash = RubyStock::getStocks("IBM","YHOO","RHAT","MSFT","AOL");
myHash.each { |key,value,v1|
    print "Symbol is: #{key}...";
    print "FullName: #{value['Name']}...";
    print "Price: #{value['Price']}\n";
}


It generates the output like

Symbol is: YHOO...FullName: "YAHOO INC"...Price: 26.18
Symbol is: AOL...FullName: "AOL"...Price: 0.00
Symbol is: MSFT...FullName: "MICROSOFT CP"...Price: 28.73
Symbol is: RHAT...FullName: "RED HAT INC"...Price: 16.67
Symbol is: IBM...FullName: "INTL BUSINESS MAC"...Price: 91.41


As we know by appending 'o', 'c', 'v', 'g', 't1', d1' to the URL we can 
get opening price, change, high, low, time, date, etc.

But I am unable to get Opening price, change, high, low, time, date etc. 
What should be the modification in code to achieve this. Please send me 
the code.  Thanks in advance.

-- 
Posted via http://www.ruby-forum.com/.