Advertisement
peepraeza

Untitled

Sep 8th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.61 KB | None | 0 0
  1. class Numeric
  2.   @@currencies = {'dollar' => 1.0, 'yen' => 0.0093, 'euro' => 1.204, 'rupee' => 0.019, 'baht' => 0.03}
  3.   def method_missing(method_id, *args, &block)
  4.     if method_id == :in
  5.       convert_to = args[0].to_s.gsub( /s$/, '')
  6.       if @@currencies.has_key?(convert_to)
  7.         self / @@currencies[convert_to]
  8.       else
  9.         super
  10.       end
  11.     else
  12.       singular_currency = method_id.to_s.gsub( /s$/, '')
  13.       if @@currencies.has_key?(singular_currency)
  14.         self * @@currencies[singular_currency]
  15.       else
  16.         super
  17.       end
  18.     end
  19.   end
  20. end
  21.  
  22. val = (3.dollars).in(:baht)
  23. puts val
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement