class Smuggle::Services::Export
Public Class Methods
call(**args)
click to toggle source
# File lib/smuggle/services/export.rb, line 6 def self.call(**args) new.call(args) end
new(resolver: Smuggle::Exporter::Resolver.new)
click to toggle source
# File lib/smuggle/services/export.rb, line 10 def initialize(resolver: Smuggle::Exporter::Resolver.new) @resolver = resolver end
Public Instance Methods
call(scope:, **options)
click to toggle source
# File lib/smuggle/services/export.rb, line 14 def call(scope:, **options) exporter = options.fetch(:exporter) { @resolver.call(scope: scope) } CSV.generate do |csv| csv << exporter.header method = :each method = :find_each if scope.respond_to?(:find_each) scope.public_send(method) do |record| csv << exporter.new(record).to_csv end end end