Class: YDIM::CurrencyUpdater
- Inherits:
-
Object
- Object
- YDIM::CurrencyUpdater
- Defined in:
- lib/ydim/currency_updater.rb
Instance Method Summary collapse
- #extract_conversion(html) ⇒ Object
- #get_conversion(origin, target) ⇒ Object
- #get_html(origin, target) ⇒ Object
-
#initialize(serv) ⇒ CurrencyUpdater
constructor
A new instance of CurrencyUpdater.
- #run ⇒ Object
- #update_conversion(origin, target) ⇒ Object
Constructor Details
#initialize(serv) ⇒ CurrencyUpdater
Returns a new instance of CurrencyUpdater.
8 9 10 |
# File 'lib/ydim/currency_updater.rb', line 8 def initialize(serv) @serv = serv end |
Instance Method Details
#extract_conversion(html) ⇒ Object
20 21 22 23 24 |
# File 'lib/ydim/currency_updater.rb', line 20 def extract_conversion(html) if(match = /1\s+[^<>=]+=\s+(\d+\.\d+)/.match(html)) match[1] end end |
#get_conversion(origin, target) ⇒ Object
25 26 27 |
# File 'lib/ydim/currency_updater.rb', line 25 def get_conversion(origin, target) extract_conversion(get_html(origin, target)).to_f end |
#get_html(origin, target) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/ydim/currency_updater.rb', line 28 def get_html(origin, target) ## not in test-suite, test manually when modified Net::HTTP.start('www.google.com') { |session| session.get("/search?q=1+#{origin.upcase}+in+#{target.upcase}").body } end |
#run ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/ydim/currency_updater.rb', line 11 def run curr = @serv.config.currencies.dup while(origin = curr.shift) curr.each { |target| update_conversion(origin, target) } end @serv.currency_converter.odba_store end |
#update_conversion(origin, target) ⇒ Object
34 35 36 37 |
# File 'lib/ydim/currency_updater.rb', line 34 def update_conversion(origin, target) @serv.currency_converter.store(origin, target, get_conversion(origin, target)) end |