module DataMigrater::CSV

Public Instance Methods

csv(processor: ::SmarterCSV) click to toggle source
# File lib/data_migrater/csv.rb, line 10
def csv(processor: ::SmarterCSV)
  s3.download if s3_provider?

  return [] unless File.exist?(csv_path)

  processor.process csv_path, csv_options
end
csv_bucket() click to toggle source
# File lib/data_migrater/csv.rb, line 32
def csv_bucket
  csv_options.delete(:bucket) || 'data-migrater'
end
csv_delete() click to toggle source
# File lib/data_migrater/csv.rb, line 24
def csv_delete
  s3.delete if s3_provider?

  File.delete(csv_path) if File.exist?(csv_path)
end
csv_dir() click to toggle source
# File lib/data_migrater/csv.rb, line 36
def csv_dir
  csv_options.delete(:dir) || 'db/data_migrate/support/csv'
end
csv_file() click to toggle source
# File lib/data_migrater/csv.rb, line 40
def csv_file
  csv_options.delete(:file) || "#{self.class.name.underscore}.csv"
end
csv_options() click to toggle source
# File lib/data_migrater/csv.rb, line 44
def csv_options
  self.class.csv_options
end
csv_path() click to toggle source
# File lib/data_migrater/csv.rb, line 18
def csv_path
  return csv_options[:path] if csv_options[:path].present?

  @csv_path ||= [csv_dir, csv_file].join('/')
end
s3() click to toggle source
# File lib/data_migrater/csv.rb, line 48
def s3
  @s3 ||= DataMigrater::S3.new(csv_bucket, s3_credentials, csv_path)
end
s3_credentials() click to toggle source
# File lib/data_migrater/csv.rb, line 52
def s3_credentials
  csv_options.delete(:credentials) || {}
end
s3_provider?() click to toggle source
# File lib/data_migrater/csv.rb, line 56
def s3_provider?
  @s3_provider ||= csv_options.delete(:provider) == :s3
end