class ActiveAdmin::Exportable::Exporter

Public Class Methods

new(record, includes: [], remove_ids: false) click to toggle source

TODO: extract this to other gem.

# File lib/active_admin/exportable/exporter.rb, line 7
def initialize(record, includes: [], remove_ids: false)
  unless record.is_a?(ActiveRecord::Relation) || record.is_a?(ActiveRecord::Base)
    raise ArgumentError, 'You need provide an ActiveRecord record as argument.'
  end

  @root = RootStruct.new(node: record, includes: includes, remove_ids: remove_ids)
end

Public Instance Methods

export() click to toggle source
# File lib/active_admin/exportable/exporter.rb, line 15
def export
  @root.data
end
to_file(path:) click to toggle source
# File lib/active_admin/exportable/exporter.rb, line 19
def to_file(path:)
  File.open(path, 'w') { |f| f.write to_json }
end
to_json(*_args) click to toggle source
# File lib/active_admin/exportable/exporter.rb, line 23
def to_json(*_args)
  export.to_json
end