lib/worldwide/regions.rb in worldwide-0.3.0 vs lib/worldwide/regions.rb in worldwide-0.4.0

- old
+ new

@@ -14,11 +14,11 @@ extend Forwardable def_delegators :instance, :all, :region_by_cldr_code, :region end def initialize - @regions = RegionsLoader.new.load_regions + @regions, @regions_by_cldr_code, @regions_by_iso_code = RegionsLoader.new.load_regions end def all @regions end @@ -27,20 +27,12 @@ unless exactly_one_present?(cldr, code, name) raise ArgumentError, "Must specify exactly one of cldr:, code: or name:. (code: is preferred)" end result = if cldr - search_code = cldr.to_s.upcase - - @regions.find do |r| - r.send(:answers_to_cldr_code, search_code) - end + @regions_by_cldr_code[cldr.to_s.upcase] elsif code - search_code = code.to_s.upcase - - @regions.find do |r| - r.send(:answers_to_iso_code, search_code) || r.alpha_three == search_code || r.numeric_three == search_code - end + @regions_by_iso_code[code.to_s.upcase] else # search by name search_name = name.upcase @regions.find do |r| r.legacy_name&.upcase == search_name || r.full_name&.upcase == search_name