class Fosbury::Client
Public Class Methods
new()
click to toggle source
# File lib/fosbury/client.rb, line 9 def initialize @endpoint = Fosbury.endpoint || "https://app.fosbury.co/api/v1/" end
Public Instance Methods
archive_pass(pass_id)
click to toggle source
# File lib/fosbury/client.rb, line 85 def archive_pass pass_id post "#{@endpoint}passes/#{pass_id}/archive" end
create_campaign(template_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 44 def create_campaign template_id, options={} options[:template_id] = template_id post "#{@endpoint}campaigns", options end
create_campaign_backfield(campaign_id, title, description)
click to toggle source
# File lib/fosbury/client.rb, line 120 def create_campaign_backfield campaign_id, title, description raise "Please provide a campaign_id" if campaign_id.nil? options = { title: title, description: description } post "#{@endpoint}campaigns/#{campaign_id}/backfields", options end
create_campaign_beacon(campaign_id, proximity_uuid, relevant_text, major=nil, minor=nil)
click to toggle source
# File lib/fosbury/client.rb, line 137 def create_campaign_beacon campaign_id, proximity_uuid, relevant_text, major=nil, minor=nil raise "Please provide a campaign_id" if campaign_id.nil? options = { campaign_id: campaign_id, proximity_uuid: proximity_uuid, relevant_text: relevant_text} options[:major] = major if !major.nil? options[:minor] = minor if !minor.nil? post "#{@endpoint}campaigns/#{campaign_id}/ibeacons", options end
create_campaign_location(campaign_id, lat, long, name, relevant_text, address='')
click to toggle source
# File lib/fosbury/client.rb, line 103 def create_campaign_location campaign_id, lat, long, name, relevant_text, address='' raise "Please provide a campaign_id" if campaign_id.nil? options = { campaign_id: campaign_id, lat: lat, long: long, name: name, relevant_text: relevant_text, address: address} post "#{@endpoint}campaigns/#{campaign_id}/locations", options end
create_pass(campaign_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 49 def create_pass campaign_id, options={} raise "Please provide a campaign_id" if campaign_id.nil? options[:campaign_id] = campaign_id post "#{@endpoint}passes", options end
create_program_backfield(program_id, title, description)
click to toggle source
# File lib/fosbury/client.rb, line 231 def create_program_backfield program_id, title, description raise "Please provide a program_id" if program_id.nil? options = { title: title, description: description } post "#{@endpoint}programs/#{program_id}/backfields", options end
create_program_beacon(program_id, proximity_uuid, relevant_text, major=nil, minor=nil)
click to toggle source
# File lib/fosbury/client.rb, line 248 def create_program_beacon program_id, proximity_uuid, relevant_text, major=nil, minor=nil raise "Please provide a program_id" if program_id.nil? options = { program_id: program_id, proximity_uuid: proximity_uuid, relevant_text: relevant_text} options[:major] = major if !major.nil? options[:minor] = minor if !minor.nil? post "#{@endpoint}programs/#{program_id}/ibeacons", options end
create_program_location(program_id, lat, long, name, address='')
click to toggle source
# File lib/fosbury/client.rb, line 214 def create_program_location program_id, lat, long, name, address='' raise "Please provide a program_id" if program_id.nil? options = { program_id: program_id, lat: lat, long: long, name: name, address: address } post "#{@endpoint}programs/#{program_id}/locations", options end
create_program_member(program_id, customer_number, first_name, last_name)
click to toggle source
# File lib/fosbury/client.rb, line 180 def create_program_member program_id, customer_number, first_name, last_name raise "Please provide a program_id" if program_id.nil? raise "Please provide a customer_number" if customer_number.nil? raise "Please provide a first_name" if first_name.nil? raise "Please provide a last_name" if last_name.nil? options = { customer_number: customer_number, first_name: first_name, last_name: last_name} post "#{@endpoint}programs/#{program_id}/members", options end
create_template(name, style, options={})
click to toggle source
# File lib/fosbury/client.rb, line 37 def create_template name, style, options={} options[:name] = name options[:style] = style post "#{@endpoint}templates", options end
delete_campaign(campaign_id)
click to toggle source
# File lib/fosbury/client.rb, line 73 def delete_campaign campaign_id delete "#{@endpoint}campaigns/#{campaign_id}" end
delete_campaign_backfield(campaign_id, backfield_id)
click to toggle source
# File lib/fosbury/client.rb, line 126 def delete_campaign_backfield campaign_id, backfield_id raise "Please provide a campaign_id" if campaign_id.nil? raise "Please provide a backfield_id" if backfield_id.nil? delete "#{@endpoint}/campaigns/#{campaign_id}/backfields/#{backfield_id}" end
delete_campaign_beacon(campaign_id, beacon_id)
click to toggle source
# File lib/fosbury/client.rb, line 145 def delete_campaign_beacon campaign_id, beacon_id raise "Please provide a campaign_id" if campaign_id.nil? raise "Please provide a beacon_id" if beacon_id.nil? delete "#{@endpoint}/campaigns/#{campaign_id}/ibeacons/#{beacon_id}" end
delete_campaign_location(campaign_id, location_id)
click to toggle source
# File lib/fosbury/client.rb, line 109 def delete_campaign_location campaign_id, location_id raise "Please provide a campaign_id" if campaign_id.nil? raise "Please provide a location_id" if location_id.nil? delete "#{@endpoint}/campaigns/#{campaign_id}/locations/#{location_id}" end
delete_pass(pass_id)
click to toggle source
# File lib/fosbury/client.rb, line 77 def delete_pass pass_id delete "#{@endpoint}passes/#{pass_id}" end
delete_program_backfield(program_id, backfield_id)
click to toggle source
# File lib/fosbury/client.rb, line 237 def delete_program_backfield program_id, backfield_id raise "Please provide a program_id" if program_id.nil? raise "Please provide a backfield_id" if backfield_id.nil? delete "#{@endpoint}/programs/#{program_id}/backfields/#{backfield_id}" end
delete_program_beacon(program_id, beacon_id)
click to toggle source
# File lib/fosbury/client.rb, line 256 def delete_program_beacon program_id, beacon_id raise "Please provide a program_id" if program_id.nil? raise "Please provide a beacon_id" if beacon_id.nil? delete "#{@endpoint}/programs/#{program_id}/ibeacons/#{beacon_id}" end
delete_program_location(program_id, location_id)
click to toggle source
# File lib/fosbury/client.rb, line 220 def delete_program_location program_id, location_id raise "Please provide a program_id" if program_id.nil? raise "Please provide a location_id" if location_id.nil? delete "#{@endpoint}/programs/#{program_id}/locations/#{location_id}" end
delete_program_member(program_id, member_id)
click to toggle source
# File lib/fosbury/client.rb, line 203 def delete_program_member program_id, member_id raise "Please provide a program_id" if program_id.nil? raise "Please provide a member_id" if member_id.nil? delete "#{@endpoint}programs/#{program_id}/members/#{member_id}" end
delete_template(teplate_id)
click to toggle source
# File lib/fosbury/client.rb, line 69 def delete_template teplate_id delete "#{@endpoint}tempates/#{template_id}" end
distribute_campaign(campaign_id)
click to toggle source
# File lib/fosbury/client.rb, line 93 def distribute_campaign campaign_id raise "Please provide a campaign_id" if campaign_id.nil? post "#{@endpoint}campaigns/#{campaign_id}/distribute" end
get_campaign(id)
click to toggle source
# File lib/fosbury/client.rb, line 29 def get_campaign id get "#{@endpoint}campaigns/#{id}" end
get_campaign_backfields(campaign_id)
click to toggle source
# File lib/fosbury/client.rb, line 115 def get_campaign_backfields campaign_id raise "Please provide a campaign_id" if campaign_id.nil? get "#{@endpoint}/campaigns/#{campaign_id}/backfields" end
get_campaign_beacons(campaign_id)
click to toggle source
# File lib/fosbury/client.rb, line 132 def get_campaign_beacons campaign_id raise "Please provide a campaign_id" if campaign_id.nil? get "#{@endpoint}/campaigns/#{campaign_id}/ibeacons" end
get_campaign_locations(campaign_id)
click to toggle source
# File lib/fosbury/client.rb, line 98 def get_campaign_locations campaign_id raise "Please provide a campaign_id" if campaign_id.nil? get "#{@endpoint}/campaigns/#{campaign_id}/locations" end
get_campaigns()
click to toggle source
# File lib/fosbury/client.rb, line 17 def get_campaigns get "#{@endpoint}campaigns" end
get_pass(id)
click to toggle source
# File lib/fosbury/client.rb, line 33 def get_pass id get "#{@endpoint}passes/#{id}" end
get_passes()
click to toggle source
# File lib/fosbury/client.rb, line 21 def get_passes get "#{@endpoint}passes" end
get_program(id)
click to toggle source
# File lib/fosbury/client.rb, line 155 def get_program id get "#{@endpoint}programs/#{id}" end
get_program_backfields(program_id)
click to toggle source
# File lib/fosbury/client.rb, line 226 def get_program_backfields program_id raise "Please provide a program_id" if program_id.nil? get "#{@endpoint}/programs/#{program_id}/backfields" end
get_program_beacons(program_id)
click to toggle source
# File lib/fosbury/client.rb, line 243 def get_program_beacons program_id raise "Please provide a program_id" if program_id.nil? get "#{@endpoint}/programs/#{program_id}/ibeacons" end
get_program_locations(program_id)
click to toggle source
# File lib/fosbury/client.rb, line 209 def get_program_locations program_id raise "Please provide a program_id" if program_id.nil? get "#{@endpoint}/programs/#{program_id}/locations" end
get_program_member(program_id, member_id)
click to toggle source
# File lib/fosbury/client.rb, line 174 def get_program_member program_id, member_id raise "Please provide a program_id" if program_id.nil? raise "Please provide a member_id" if member_id.nil? get "#{@endpoint}programs/#{program_id}/members/#{member_id}" end
get_program_members(program_id)
click to toggle source
# File lib/fosbury/client.rb, line 169 def get_program_members program_id raise "Please provide a program_id" if program_id.nil? get "#{@endpoint}programs/#{program_id}/members" end
get_programs()
click to toggle source
# File lib/fosbury/client.rb, line 151 def get_programs get "#{@endpoint}programs" end
get_template(id)
click to toggle source
# File lib/fosbury/client.rb, line 25 def get_template id get "#{@endpoint}templates/#{id}" end
get_templates()
click to toggle source
# File lib/fosbury/client.rb, line 13 def get_templates get "#{@endpoint}templates" end
push_pass(pass_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 81 def push_pass pass_id, options={} put "#{@endpoint}passes/#{pass_id}/push", options end
push_program(program_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 164 def push_program program_id, options={} raise "Please provide a program_id" if program_id.nil? post "#{@endpoint}programs/#{program_id}/push_message", options end
redeem_pass(pass_id)
click to toggle source
# File lib/fosbury/client.rb, line 89 def redeem_pass pass_id post "#{@endpoint}passes/#{pass_id}/redeem" end
update_campaign(campaign_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 60 def update_campaign campaign_id, options={} raise "Please provide a campaign_id" if campaign_id.nil? put "#{@endpoint}campaigns/#{campaign_id}", options end
update_pass(pass_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 65 def update_pass pass_id, options={} put "#{@endpoint}passes/#{pass_id}", options end
update_program(program_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 159 def update_program program_id, options={} raise "Please provide a program_id" if program_id.nil? put "#{@endpoint}programs/#{campaign_id}", options end
update_program_member(program_id, member_id, customer_number, first_name, last_name, email=nil)
click to toggle source
# File lib/fosbury/client.rb, line 191 def update_program_member program_id, member_id, customer_number, first_name, last_name, email=nil raise "Please provide a program_id" if program_id.nil? raise "Please provide a member_id" if member_id.nil? raise "Please provide a customer_number" if customer_number.nil? raise "Please provide a first_name" if first_name.nil? raise "Please provide a last_name" if last_name.nil? options = { customer_number: customer_number, first_name: first_name, last_name: last_name, email: email} put "#{@endpoint}programs/#{program_id}/members/#{member_id}", options end
update_template(template_id, options={})
click to toggle source
# File lib/fosbury/client.rb, line 55 def update_template template_id, options={} raise "Please provide a template_id" if template_id.nil? put "#{@endpoint}tempates/#{template_id}", options end
Private Instance Methods
delete(url)
click to toggle source
# File lib/fosbury/client.rb, line 279 def delete url response = RestClient.delete url, get_headers parse(response) end
get(url)
click to toggle source
# File lib/fosbury/client.rb, line 264 def get url response = RestClient.get url, get_headers parse(response.to_s) end
get_headers()
click to toggle source
# File lib/fosbury/client.rb, line 289 def get_headers raise "No authentication token provided. Use Fosbury.authentication_token = 'yourtoken' first" if Fosbury.authentication_token.nil? {'X-Fosbury-Token' => Fosbury.authentication_token} end
parse(json_str)
click to toggle source
# File lib/fosbury/client.rb, line 284 def parse json_str return nil if json_str.empty? JSON.parse(json_str) end
post(url, payload='')
click to toggle source
# File lib/fosbury/client.rb, line 269 def post url, payload='' response = RestClient.post url, payload, get_headers parse(response.to_s) end
put(url, payload='')
click to toggle source
# File lib/fosbury/client.rb, line 274 def put url, payload='' response = RestClient.put url, payload, get_headers parse(response.to_s) end