Class: SpreeCmCommissioner::Organizer::ExportInviteGuestCsvService

Inherits:
Object
  • Object
show all
Defined in:
app/services/spree_cm_commissioner/organizer/export_invite_guest_csv_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(invite_guest_id, columns) ⇒ ExportInviteGuestCsvService

Returns a new instance of ExportInviteGuestCsvService.



6
7
8
9
# File 'app/services/spree_cm_commissioner/organizer/export_invite_guest_csv_service.rb', line 6

def initialize(invite_guest_id, columns)
  @invite_guest_id = invite_guest_id
  @columns = (columns + %w[created_at ticket_url]).uniq
end

Instance Attribute Details

#columnsObject (readonly)

Returns the value of attribute columns.



4
5
6
# File 'app/services/spree_cm_commissioner/organizer/export_invite_guest_csv_service.rb', line 4

def columns
  @columns
end

#invite_guest_idObject (readonly)

Returns the value of attribute invite_guest_id.



4
5
6
# File 'app/services/spree_cm_commissioner/organizer/export_invite_guest_csv_service.rb', line 4

def invite_guest_id
  @invite_guest_id
end

Instance Method Details

#callObject



11
12
13
14
15
16
17
18
# File 'app/services/spree_cm_commissioner/organizer/export_invite_guest_csv_service.rb', line 11

def call
  CSV.generate(headers: true) do |csv|
    csv << (['No.'] + headers)
    guests.each_with_index do |guest, index|
      csv << ([index + 1] + build_row(guest))
    end
  end
end