Sha256: 957b9850a48febda1ff919ae801fb4f4e6039c9e257d31d12ad1bc9251bc5eae
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
require 'singleton' class IsoCountryCodes class Code include Singleton def name self.class.name end def numeric self.class.numeric end def alpha2 self.class.alpha2 end def alpha3 self.class.alpha3 end def main_currency self.class.main_currency end def currency self.class.currency end def currencies self.class.currencies end class << self attr_accessor :name, :numeric, :alpha2, :alpha3, :main_currency attr_writer :currencies alias_method :currency, :main_currency @@codes = [] def inherited(code) #:nodoc: super @@codes << code.instance if self == IsoCountryCodes::Code end def all @@codes.uniq end def for_select(type = :alpha2) all.map { |country| [country.name, country.send(type)] } end def currencies if defined? @currencies return @currencies else return [@main_currency] end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
iso_country_codes-0.3.1 | lib/iso_country_codes/code.rb |
iso_country_codes-0.3.0 | lib/iso_country_codes/code.rb |