class HubStore::Exporter

Attributes

resource[R]

Public Class Methods

new(resource:) click to toggle source
# File lib/hub_store/exporter.rb, line 5
def initialize(resource:)
  @resource = resource
end

Public Instance Methods

run() click to toggle source
# File lib/hub_store/exporter.rb, line 9
def run
  export_csv
end

Private Instance Methods

columns() click to toggle source
# File lib/hub_store/exporter.rb, line 29
def columns
  @_columns ||= resource.columns.map(&:name)
end
csv_file_name() click to toggle source
# File lib/hub_store/exporter.rb, line 25
def csv_file_name
  resource.to_s.demodulize.pluralize.underscore + ".csv"
end
export_csv() click to toggle source
# File lib/hub_store/exporter.rb, line 17
def export_csv
  CSV.open(csv_file_name, "w", write_headers: true, headers: columns) do |csv|
    resource.find_each do |record|
      csv << record.attributes.values
    end
  end
end