class Kamome::Cli
Constants
- REJECT_KEYS
Public Instance Methods
generate_csv(filepath)
click to toggle source
# File lib/kamome/cli.rb, line 11 def generate_csv(filepath) path = ::Pathname.new(filepath) do_generate_csv(operation_all, path, options[:header]) $stdout.puts "Generated csv: #{path}" rescue StandardError => e path.delete if path&.exist? raise e end
generate_diff_csv(filepath)
click to toggle source
# File lib/kamome/cli.rb, line 23 def generate_diff_csv(filepath) path = ::Pathname.new(filepath) do_generate_csv(operation_diff(options[:date]), path, options[:header]) $stdout.puts "Generated diff csv: #{path}" rescue StandardError => e path.delete if path&.exist? raise e end
generate_diff_json(filepath)
click to toggle source
# File lib/kamome/cli.rb, line 41 def generate_diff_json(filepath) path = ::Pathname.new(filepath) do_generate_json(operation_diff(options[:date]), path) $stdout.puts "Generated diff json: #{path}" rescue StandardError => e path.delete if path&.exist? raise e end
generate_json(filepath)
click to toggle source
# File lib/kamome/cli.rb, line 33 def generate_json(filepath) path = ::Pathname.new(filepath) do_generate_json(operation_all, path) $stdout.puts "Generated json: #{path}" end
Private Instance Methods
build_pretty_attributes(model)
click to toggle source
# File lib/kamome/cli.rb, line 97 def build_pretty_attributes(model) model.attributes.reject { |key, _| REJECT_KEYS.include?(key) } end
csv_headers()
click to toggle source
# File lib/kamome/cli.rb, line 93 def csv_headers Kamome::Models::Address.new.attributes.keys.reject { |o| REJECT_KEYS.include?(o) } end
do_generate_csv(operations, path, header)
click to toggle source
# File lib/kamome/cli.rb, line 68 def do_generate_csv(operations, path, header) require 'csv' ::CSV.open(path, 'w') do |csv| csv << csv_headers if header operations.each do |operation| Kamome.loader.call(operation: operation) do |model| csv << build_pretty_attributes(model).values end end end end
do_generate_json(operations, path)
click to toggle source
# File lib/kamome/cli.rb, line 80 def do_generate_json(operations, path) require 'json' json = {} operations.each do |operation| Kamome.loader.call(operation: operation) do |model| json[model.zipcode] ||= [] json[model.zipcode] << build_pretty_attributes(model) end end ::File.write(path, ::JSON.pretty_generate(json)) end
operation_all()
click to toggle source
# File lib/kamome/cli.rb, line 52 def operation_all [ ::Kamome::Operation.general_all, ::Kamome::Operation.jigyosho_all ] end
operation_diff(date)
click to toggle source
# File lib/kamome/cli.rb, line 59 def operation_diff(date) require 'date' date ||= Date.today << 1 [ ::Kamome::Operation.general_diff(date: date), ::Kamome::Operation.jigyosho_diff(date: date) ] end