Sha256: 997979e10d8b949cf7dcb66a808a6ef5639441d01b99dcc92fb70f72f7a9f1a6
Contents?: true
Size: 1.6 KB
Versions: 5
Compression:
Stored size: 1.6 KB
Contents
# frozen_string_literal: true require "json" require_relative "base" module JpLocalGov module Data class Exporter SELECT_SQL = <<-SQL SELECT code, prefecture_code, prefecture, prefecture_kana, city, city_kana, prefecture_capital FROM local_governments ORDER BY code SQL def initialize @db = JpLocalGov::Data::Base.new.db end def execute local_governments.each do |prefix, value| file_path = File.expand_path("../../data/json/#{prefix}.json", __FILE__) File.open(file_path, "wb") do |file| file.write JSON.pretty_generate(value) end end end private def local_governments local_governments = {} @db.execute(SELECT_SQL) do |row| lg_hash = to_hash(row) local_governments[lg_hash[:prefecture_code]] ||= {} local_governments[lg_hash[:prefecture_code]] = local_governments[lg_hash[:prefecture_code]].merge(lg_hash[:code] => lg_hash) end local_governments end def to_hash(row) local_government = {} local_government[:code], local_government[:prefecture_code], local_government[:prefecture], local_government[:prefecture_kana], local_government[:city], local_government[:city_kana], local_government[:prefecture_capital] = row local_government[:prefecture_capital] = local_government[:prefecture_capital] == "1" local_government end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
jp_local_gov-0.3.1 | data/exporter.rb |
jp_local_gov-0.3.0 | data/exporter.rb |
jp_local_gov-0.2.1 | data/exporter.rb |
jp_local_gov-0.2.0 | data/exporter.rb |
jp_local_gov-0.1.0 | data/exporter.rb |