Sha256: e58cf952b112d142d6f5da9201659709213e4643e5a20f902e3641775d38f9cd
Contents?: true
Size: 683 Bytes
Versions: 8
Compression:
Stored size: 683 Bytes
Contents
require 'csv' module Arbetsformedlingen class MunicipalityCode CODE_MAP = CSV.read( File.expand_path('../../../../data/municipality-codes.csv', __FILE__) ).to_h.freeze CODES_MAP_INVERTED = CODE_MAP.invert.freeze def self.to_code(name) normalized = normalize(name) CODE_MAP.fetch(normalized) do normalized if CODES_MAP_INVERTED[normalized] end end def self.valid?(name) !to_code(name).nil? end def self.normalize(name) name.to_s.strip end def self.to_form_array(name_only: false) return CODE_MAP.to_a unless name_only CODE_MAP.map { |name, _code| [name, name] } end end end
Version data entries
8 entries across 8 versions & 1 rubygems