Sha256: c30e7c984d8f6f2cc4af1eaa74f72ad44ed596d642522e8fd3587465e7e884d3

Contents?: true

Size: 608 Bytes

Versions: 4

Compression:

Stored size: 608 Bytes

Contents

# frozen_string_literal: true

require 'yaml'

module JpPrefecture
  # コードと郵便番号のマッピング
  module ZipMapping
    filepath = File.join(File.dirname(__FILE__), '../../data/zip.yml')
    @data = YAML.load_file(filepath)
    @data = Hash[*@data.collect { |code, arr| [code, arr.collect { |zip_from, zip_to| zip_from..zip_to }] }.flatten(1)]

    def self.data
      JpPrefecture.config.zip_mapping_data || @data
    end

    def self.code_for_zip(zip)
      data.select do |_code, zip_ranges|
        zip_ranges.find { |range| range.include? zip }
      end.keys.first
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jp_prefecture-1.1.2 lib/jp_prefecture/zip_mapping.rb
jp_prefecture-1.1.1 lib/jp_prefecture/zip_mapping.rb
jp_prefecture-1.1.0 lib/jp_prefecture/zip_mapping.rb
jp_prefecture-1.0.0.rc1 lib/jp_prefecture/zip_mapping.rb