class Kamome::Loader
Public Class Methods
new(config:)
click to toggle source
# File lib/kamome/loader.rb, line 9 def initialize(config:) @config = config end
Public Instance Methods
call(operation:, &block)
click to toggle source
@params [Operation] Kamome::Operation
@yield [model, lineno] Any logic you want to execute
Don't pass `-> { break }`, use `-> { throw :break }
@return [Array] csv digest
# File lib/kamome/loader.rb, line 17 def call(operation:, &block) operation.urls.map do |url| csv_path = download(url) call_csv_handler(operation, csv_path, &block) end end
Private Instance Methods
call_csv_handler(operation, csv_path, &block)
click to toggle source
# File lib/kamome/loader.rb, line 34 def call_csv_handler(operation, csv_path, &block) catch(:break) do ::Kamome::CsvHandler.new(operation).call(csv_path, &block) end ::Digest::SHA256.file(csv_path).to_s ensure csv_path.delete if @config.cleanup end
download(url)
click to toggle source
# File lib/kamome/loader.rb, line 26 def download(url) downloader.run(url: url) end
downloader()
click to toggle source
# File lib/kamome/loader.rb, line 30 def downloader @downloader ||= ::Kamome::Downloader.new(@config) end