Class: GeniusReferrals::BonusesResource
- Defined in:
- lib/genius_referrals/resources/bonuses.rb
Instance Method Summary collapse
-
#add_tag(account_slug, bonus_id, tag_slug) ⇒ Object
Attach a tag to a bonus using the live-doc
bonus.tag.slugshape. -
#checkup(account_slug, **params) ⇒ Object
Simulate bonus eligibility with API query parameters.
-
#create(account_slug, bonus) ⇒ Object
Create a bonus using the
bonuswrapper. -
#delete(account_slug, bonus_id) ⇒ Object
Delete one bonus.
-
#force(account_slug, bonus) ⇒ Object
Create a forced bonus using the
bonuswrapper. -
#list(account_slug, page: 1, limit: 10, filter: nil, sort: nil, **filters) ⇒ Object
List bonuses for an account.
-
#patch(account_slug, bonus_id, **fields) ⇒ Object
Patch a bonus with unwrapped partial fields.
-
#remove_tag(account_slug, bonus_id, tag_slug) ⇒ Object
Remove one tag from a bonus.
-
#retrieve(account_slug, bonus_id) ⇒ Object
Retrieve one bonus.
-
#retrieve_trace(account_slug, trace_id) ⇒ Object
Retrieve one bonus request trace.
-
#traces(account_slug, page: 1, limit: 10, **params) ⇒ Object
List bonus request traces.
Methods inherited from Resource
Constructor Details
This class inherits a constructor from GeniusReferrals::Resource
Instance Method Details
#add_tag(account_slug, bonus_id, tag_slug) ⇒ Object
Attach a tag to a bonus using the live-doc bonus.tag.slug shape.
52 53 54 55 56 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 52 def add_tag(account_slug, bonus_id, tag_slug) request('POST', "/accounts/#{esc(account_slug)}/bonuses/#{esc(bonus_id)}/tags", json: { 'bonus' => { 'tag' => { 'slug' => tag_slug } } }) end |
#checkup(account_slug, **params) ⇒ Object
Simulate bonus eligibility with API query parameters.
20 21 22 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 20 def checkup(account_slug, **params) request('GET', "/accounts/#{esc(account_slug)}/bonuses/checkup", params: params) end |
#create(account_slug, bonus) ⇒ Object
Create a bonus using the bonus wrapper.
10 11 12 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 10 def create(account_slug, bonus) request('POST', "/accounts/#{esc(account_slug)}/bonuses", json: wrapped('bonus', bonus)) end |
#delete(account_slug, bonus_id) ⇒ Object
Delete one bonus.
47 48 49 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 47 def delete(account_slug, bonus_id) request('DELETE', "/accounts/#{esc(account_slug)}/bonuses/#{esc(bonus_id)}") end |
#force(account_slug, bonus) ⇒ Object
Create a forced bonus using the bonus wrapper.
15 16 17 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 15 def force(account_slug, bonus) request('POST', "/accounts/#{esc(account_slug)}/bonuses/force", json: wrapped('bonus', bonus)) end |
#list(account_slug, page: 1, limit: 10, filter: nil, sort: nil, **filters) ⇒ Object
List bonuses for an account.
4 5 6 7 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 4 def list(account_slug, page: 1, limit: 10, filter: nil, sort: nil, **filters) params = compact({ page: page, limit: limit, filter: filter, sort: sort }.merge(filters)) page('GET', "/accounts/#{esc(account_slug)}/bonuses", params: params) end |
#patch(account_slug, bonus_id, **fields) ⇒ Object
Patch a bonus with unwrapped partial fields.
42 43 44 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 42 def patch(account_slug, bonus_id, **fields) request('PATCH', "/accounts/#{esc(account_slug)}/bonuses/#{esc(bonus_id)}", json: fields) end |
#remove_tag(account_slug, bonus_id, tag_slug) ⇒ Object
Remove one tag from a bonus.
59 60 61 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 59 def remove_tag(account_slug, bonus_id, tag_slug) request('DELETE', "/accounts/#{esc(account_slug)}/bonuses/#{esc(bonus_id)}/tags/#{esc(tag_slug)}") end |
#retrieve(account_slug, bonus_id) ⇒ Object
Retrieve one bonus.
37 38 39 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 37 def retrieve(account_slug, bonus_id) request('GET', "/accounts/#{esc(account_slug)}/bonuses/#{esc(bonus_id)}") end |
#retrieve_trace(account_slug, trace_id) ⇒ Object
Retrieve one bonus request trace.
32 33 34 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 32 def retrieve_trace(account_slug, trace_id) request('GET', "/accounts/#{esc(account_slug)}/bonuses/traces/#{esc(trace_id)}") end |
#traces(account_slug, page: 1, limit: 10, **params) ⇒ Object
List bonus request traces.
25 26 27 28 29 |
# File 'lib/genius_referrals/resources/bonuses.rb', line 25 def traces(account_slug, page: 1, limit: 10, **params) page('GET', "/accounts/#{esc(account_slug)}/bonuses/traces", params: compact({ page: page, limit: limit }.merge(params))) end |