Class: Outbrain::Api::Budget

Inherits:
Base
  • Object
show all
Defined in:
lib/outbrain/api/budget.rb

Constant Summary collapse

PATH =
'budgets'

Instance Attribute Summary

Attributes inherited from Base

#errors

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#extract_query_options, #initialize, #persisted?, #valid?

Constructor Details

This class inherits a constructor from Outbrain::Base

Class Method Details

.create(attributes) ⇒ Object



10
11
12
# File 'lib/outbrain/api/budget.rb', line 10

def self.create(attributes)
  Request.create(path(attributes.delete(:marketer_id)), {as: self, attributes: attributes})
end

.find(budget_id) ⇒ Object



14
15
16
# File 'lib/outbrain/api/budget.rb', line 14

def self.find(budget_id)
  Request.find(PATH, budget_id, { as: self })
end

.find_by(attributes = {}) ⇒ Object



18
19
20
21
22
# File 'lib/outbrain/api/budget.rb', line 18

def self.find_by(attributes={})
  marketer_id = attributes[:marketer_id]
  fail InvalidOption 'find_by requires marketer-id' unless marketer_id
  Request.all(path(marketer_id), { as: self, resource_name: 'budgets'})
end

.path(id) ⇒ Object



6
7
8
# File 'lib/outbrain/api/budget.rb', line 6

def self.path(id)
  "marketers/#{id}/budgets"
end

.update(budget_id, attributes) ⇒ Object



28
29
30
# File 'lib/outbrain/api/budget.rb', line 28

def self.update(budget_id, attributes)
  Request.update(PATH, budget_id, {as: self, attributes: attributes })
end

Instance Method Details

#create_campaign(attributes) ⇒ Object



24
25
26
# File 'lib/outbrain/api/budget.rb', line 24

def create_campaign(attributes)
  Campaign.create(attributes.merge(budgetId: id))
end