Class: CountryData::Country

Inherits:
Object
  • Object
show all
Defined in:
lib/country_data.rb

Class Method Summary collapse

Instance Method Summary collapse

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_currencyObject



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