Method: Command::Csv#import

Defined in:
lib/command/csv.rb

#import(data = nil) ⇒ Object

CSV形式のファイルからインポートするheader行にurlという項目が必要data にはインポートしたいIOオブジェクトかCSV形式の文字列を指定。nil なら –import オプションで指定されたファイルから入力



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/command/csv.rb', line 88

def import(data = nil)
  if data
    source = data
  elsif @options["filename"]
    source = File.read(@options["filename"])
  else
    raise ArgumentError, "need a CSV data"
  end
  csv = CSV.new(source, headers: true, converters: :numeric, header_converters: :symbol)
  table = csv.read
  table[:url].each do |url|
    next unless url
    Download.execute!([url])
    Helper.print_horizontal_rule
  end
rescue CSV::MalformedCSVError => e
  puts "不正なCSVデータです(#{e.message})"
  exit Narou::EXIT_ERROR_CODE
end