Class: Core::Services::Campaigns

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/core/services/campaigns.rb

Instance Method Summary collapse

Instance Method Details

#campaigns(account) ⇒ Object



22
23
24
25
# File 'lib/core/services/campaigns.rb', line 22

def campaigns()
  invitations = .invitations.where(enum_status: 'creator')
  Core::Models::Campaign.where(:id.in => invitations.map(&:campaign_id))
end

#list(account, page: 0, per_page: 20, **_ignored) ⇒ Array<Hash>

Lists all the campaigns of a user identified by its account.

Parameters:

  • account (Core::Models::Account)

    the user requesting its campaigns.

  • page (Integer) (defaults to: 0)

    the page in the list of campaigns to return to the users.

  • per_page (Integer) (defaults to: 20)

    the number of campaigns per page.

Returns:

  • (Array<Hash>)

    an array of hash representing campaigns.



15
16
17
18
19
20
# File 'lib/core/services/campaigns.rb', line 15

def list(, page: 0, per_page: 20, **_ignored)
  campaigns = campaigns().skip(page * per_page).limit(per_page)
  campaigns.map do |campaign|
    Core::Decorators::Campaign.new(campaign).to_simple_h
  end
end