Module: Ohmage::API::Campaign

Included in:
Ohmage::API
Defined in:
lib/ohmage/campaign.rb

Instance Method Summary collapse

Instance Method Details

#campaign_create(params = {}) ⇒ Object

ohmage campaign/create call



23
24
25
26
27
28
29
# File 'lib/ohmage/campaign.rb', line 23

def campaign_create(params = {})
  params[:xml] = HTTP::FormData::File.new(params[:xml]) unless params[:xml].include? '<?xml'
  request = Ohmage::Request.new(self, :post, 'campaign/create', params)
  request.perform
  # we cannot create a campaign object if campaign_urn is not passed as a param. returns nil otherwise
  campaign_read(campaign_urn_list: params[:campaign_urn], output_format: 'long') if params[:campaign_urn]
end

#campaign_delete(params = {}) ⇒ Object

ohmage campaign/delete call



48
49
50
51
# File 'lib/ohmage/campaign.rb', line 48

def campaign_delete(params = {})
  request = Ohmage::Request.new(self, :post, 'campaign/delete', params)
  request.perform
end

#campaign_read(params = {}) ⇒ Object

ohmage campaign/read call



8
9
10
11
12
13
14
15
16
# File 'lib/ohmage/campaign.rb', line 8

def campaign_read(params = {})
  request = Ohmage::Request.new(self, :post, 'campaign/read', params)
  # TODO: make a utility to abstract creation of array of base objects
  t = []
  request.perform[:data].each do |k, v|
    t << Ohmage::Campaign.new(k => v)
  end
  t
end

#campaign_search(params = {}) ⇒ Object

ohmage campaign/search call



58
59
60
61
62
63
64
65
66
# File 'lib/ohmage/campaign.rb', line 58

def campaign_search(params = {})
  request = Ohmage::Request.new(self, :post, 'campaign/search', params)
  # TODO: make a utility to abstract creation of array of base objects
  t = []
  request.perform[:data].each do |k, v|
    t << Ohmage::Campaign.new(k => v)
  end
  t
end

#campaign_update(params = {}) ⇒ Object

ohmage campaign/update call



36
37
38
39
40
41
# File 'lib/ohmage/campaign.rb', line 36

def campaign_update(params = {})
  params[:xml] = HTTP::FormData::File.new(params[:xml]) if params[:xml]
  request = Ohmage::Request.new(self, :post, 'campaign/update', params)
  request.perform
  campaign_read(campaign_urn_list: params[:campaign_urn], output_format: 'long')
end