Class: Fosbury::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/fosbury/client.rb

Instance Method Summary collapse

Constructor Details

#initializeClient

Returns a new instance of Client.



9
10
11
# File 'lib/fosbury/client.rb', line 9

def initialize
  @endpoint = Fosbury.endpoint || "https://app.fosbury.co/api/v1/"
end

Instance Method Details

#create_campaign(template_id, options = {}) ⇒ Object



44
45
46
47
# 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) ⇒ Object



122
123
124
125
126
# File 'lib/fosbury/client.rb', line 122

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_location(campaign_id, lat, long, name, address = '') ⇒ Object



105
106
107
108
109
# File 'lib/fosbury/client.rb', line 105

def create_campaign_location campaign_id, lat, long, name, address=''
  raise "Please provide a campaign_id" if campaign_id.nil?
  options = { campaign_id: campaign_id, lat: lat, long: long, name: name, address: address }
  post "#{@endpoint}campaigns/#{campaign_id}/locations", options
end

#create_pass(campaign_id, options = {}) ⇒ Object



49
50
51
52
53
# 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_template(name, style, options = {}) ⇒ Object



37
38
39
40
41
42
# 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) ⇒ Object



78
79
80
# File 'lib/fosbury/client.rb', line 78

def delete_campaign campaign_id
  delete "#{@endpoint}campaigns/#{campaign_id}"
end

#delete_campaign_backfield(campaign_id, backfield_id) ⇒ Object



128
129
130
131
132
# File 'lib/fosbury/client.rb', line 128

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_location(campaign_id, location_id) ⇒ Object



111
112
113
114
115
# File 'lib/fosbury/client.rb', line 111

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) ⇒ Object



82
83
84
# File 'lib/fosbury/client.rb', line 82

def delete_pass pass_id
  delete "#{@endpoint}passes/#{pass_id}"
end

#delete_template(teplate_id) ⇒ Object



74
75
76
# File 'lib/fosbury/client.rb', line 74

def delete_template teplate_id
  delete "#{@endpoint}tempates/#{template_id}"
end

#distribute_campaign(campaign_id) ⇒ Object



95
96
97
98
# File 'lib/fosbury/client.rb', line 95

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) ⇒ Object



29
30
31
# File 'lib/fosbury/client.rb', line 29

def get_campaign id
  get "#{@endpoint}campaigns/#{id}"
end

#get_campaign_backfields(campaign_id) ⇒ Object



117
118
119
120
# File 'lib/fosbury/client.rb', line 117

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_locations(campaign_id) ⇒ Object



100
101
102
103
# File 'lib/fosbury/client.rb', line 100

def get_campaign_locations campaign_id
  raise "Please provide a campaign_id" if campaign_id.nil?
  get "#{@endpoint}/campaigns/#{campaign_id}/locations"
end

#get_campaignsObject



17
18
19
# File 'lib/fosbury/client.rb', line 17

def get_campaigns
  get "#{@endpoint}campaigns"
end

#get_pass(id) ⇒ Object



33
34
35
# File 'lib/fosbury/client.rb', line 33

def get_pass id
  get "#{@endpoint}passes/#{id}"
end

#get_passesObject



21
22
23
# File 'lib/fosbury/client.rb', line 21

def get_passes
  get "#{@endpoint}passes"
end

#get_template(id) ⇒ Object



25
26
27
# File 'lib/fosbury/client.rb', line 25

def get_template id
  get "#{@endpoint}templates/#{id}"
end

#get_templatesObject



13
14
15
# File 'lib/fosbury/client.rb', line 13

def get_templates
  get "#{@endpoint}templates"
end

#push(pass_id, options = {}) ⇒ Object

NOTE: Deprecated: Use push_pass instead, still here for legacy reasons



87
88
89
# File 'lib/fosbury/client.rb', line 87

def push pass_id, options={}
  push_pass(pass_id, options)
end

#push_pass(pass_id, options = {}) ⇒ Object



91
92
93
# File 'lib/fosbury/client.rb', line 91

def push_pass pass_id, options={}
  put "#{@endpoint}passes/#{pass_id}/push", options
end

#update(pass_id, options = {}) ⇒ Object

NOTE: Deprecated: Use update_pass instead, still here for legacy reasons



70
71
72
# File 'lib/fosbury/client.rb', line 70

def update pass_id, options={}
  update_pass(pass_id, options)
end

#update_campaign(campaign_id, options = {}) ⇒ Object



60
61
62
63
# 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 = {}) ⇒ Object



65
66
67
# File 'lib/fosbury/client.rb', line 65

def update_pass pass_id, options={}
  put "#{@endpoint}passes/#{pass_id}", options
end

#update_template(template_id, options = {}) ⇒ Object



55
56
57
58
# 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