module Ohmage::API::Campaign

Public Instance Methods

campaign_create(params = {}) click to toggle source

ohmage campaign/create call @see github.com/ohmage/server/wiki/Campaign-Manipulation#campaignCreate @returns [Ohmage::Campaign object] or nil if urn is not passed as param

# 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 = {}) click to toggle source

ohmage campaign/delete call @see github.com/ohmage/server/wiki/Campaign-Manipulation#campaignDelete @returns string of success/fail

# 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 = {}) click to toggle source

ohmage campaign/read call @see github.com/ohmage/server/wiki/Campaign-Manipulation#campaignRead @returns [Array: Ohmage::Campaign objects] matching criteria and output format

# 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_update(params = {}) click to toggle source

ohmage campaign/update call @see github.com/ohmage/server/wiki/Campaign-Manipulation#campaignUpdate @returns [Ohmage::Campaign object]

# 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