class Kamome::CsvHandler
Public Class Methods
new(operation)
click to toggle source
# File lib/kamome/csv_handler.rb, line 9 def initialize(operation) @operation = operation end
Public Instance Methods
call(csv_path) { |obj, $INPUT_LINE_NUMBER| ... }
click to toggle source
# File lib/kamome/csv_handler.rb, line 13 def call(csv_path) prev = nil ::CSV.foreach(csv_path) do |row| obj = transform(row) next if skip?(prev, obj) yield(obj, $INPUT_LINE_NUMBER) prev = obj end end
Private Instance Methods
general_transformer()
click to toggle source
# File lib/kamome/csv_handler.rb, line 42 def general_transformer ::Kamome::Transformations::GeneralCsv.new end
jigyosho_transformer()
click to toggle source
# File lib/kamome/csv_handler.rb, line 38 def jigyosho_transformer ::Kamome::Transformations::JigyoshoCsv.new end
skip?(previous, current)
click to toggle source
# File lib/kamome/csv_handler.rb, line 46 def skip?(previous, current) return false unless previous.respond_to?(:ambiguous_town) return false unless previous.ambiguous_town previous.zipcode == current.zipcode end
transform(row)
click to toggle source
# File lib/kamome/csv_handler.rb, line 26 def transform(row) transformer.public_send(transformed_method, row) end
transformed_method()
click to toggle source
# File lib/kamome/csv_handler.rb, line 30 def transformed_method @operation.type_detail? ? :generate_detail_model : :generate_model end
transformer()
click to toggle source
# File lib/kamome/csv_handler.rb, line 34 def transformer @transformer ||= @operation.genre_jigyosho? ? jigyosho_transformer : general_transformer end