class EanCountry
Public Class Methods
infer(code)
click to toggle source
# File lib/ean-country.rb, line 4 def self.infer(code) # insurance code = code.to_s countries = { "380" => "BG", "383" => "SI", "385" => "HR", "387" => "BA", "45" => "JP", "46" => "RU", "49" => "JP", "471" => "TW", "474" => "EE", "475" => "LV", "477" => "LT", "479" => "LK", "480" => "PH", "482" => "UA", "484" => "MD", "485" => "AM", "486" => "GE", "487" => "KZ", "489" => "KH", "50" => "GB", "520" => "GR", "528" => "LB", "529" => "CY", "531" => "MK", "535" => "MT", "539" => "IE", "54" => "BE", #known bug - also LU "560" => "PT", "569" => "IS", "57" => "DK", "590" => "PL", "594" => "RO", "599" => "HU", "600" => "ZA", "601" => "ZA", "609" => "MU", "611" => "MA", "613" => "DZ", "619" => "TN", "622" => "EG", "626" => "IR", "64" => "FI", "690" => "CN", "691" => "CN", "70" => "NO", "729" => "IL", "73" => "SE", "740" => "GT", "741" => "SV", "742" => "HN", "743" => "NI", "744" => "CR", "745" => "PA", "746" => "DM", "750" => "MX", "759" => "VE", "76" => "CH", "770" => "CO", "773" => "UY", "775" => "PE", "777" => "BO", "779" => "AR", "780" => "CL", "784" => "PY", "786" => "EC", "789" => "BR", "80" => "IT", "81" => "IT", "82" => "IT", "83" => "IT", "84" => "ES", "850" => "CU", "858" => "SK", "859" => "CZ", "860" => nil, # Yugoslavia no longer exists - no idea how to roll this one "869" => "TR", "87" => "NL", "880" => "KR", "885" => "TH", "888" => "SG", "890" => "IN", "893" => "VN", "899" => "ID", "90" => "AT", "91" => "AT", "93" => "AU", "94" => "NZ", "955" => "MY" } # 01 to 09: US if code[0] == "0" return "US" end toin = code[0..2].to_i # 400, 401, 402... to 440: DE - special case if(toin >= 400 and toin <= 440) return "DE" end toin = code[0..1].to_i # 30-37: FR if(toin >= 30 and toin <= 37) return "FR" end two = code[0..1] if countries.has_key?(two) return countries[two] end three = code[0..2] if countries.has_key?(three) return countries[three] end return nil end