Class: CountryData::Country
- Inherits:
-
Object
- Object
- CountryData::Country
- Defined in:
- lib/country_data.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(hashs = {}) ⇒ Country
constructor
A new instance of Country.
Constructor Details
#initialize(hashs = {}) ⇒ Country
Returns a new instance of Country.
5 6 7 8 9 10 11 |
# File 'lib/country_data.rb', line 5 def initialize(hashs={}) hashs.each do |k,v| self.instance_variable_set("@#{k}", v) self.class.send(:define_method, k, proc{self.instance_variable_get("@#{k}")}) self.class.send(:define_method, "#{k}=", proc{|v| self.instance_variable_set("@#{k}", v)}) end end |
Class Method Details
.all_currency ⇒ Object
21 22 23 24 |
# File 'lib/country_data.rb', line 21 def self.all_currency data = YAML.load(File.read(File.join(File.dirname(__FILE__), 'data', 'countries.yaml')).to_s) data.collect{|key,val| val['currency']}.uniq end |
.country_by_id(str) ⇒ Object
12 13 14 15 |
# File 'lib/country_data.rb', line 12 def self.country_by_id(str) data = YAML.load(File.read(File.join(File.dirname(__FILE__), 'data', 'countries.yaml')).to_s) data[str].nil? ? nil : self.new(data[str]) end |
.country_by_ip(ip) ⇒ Object
17 18 19 |
# File 'lib/country_data.rb', line 17 def self.country_by_ip(ip) self.country_by_id(GeoRequest.location(ip)) end |