constantcontact 2.2.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -2
  3. data/README.md +56 -1
  4. data/constantcontact.gemspec +1 -1
  5. data/lib/constantcontact/api.rb +111 -97
  6. data/lib/constantcontact/services/account_service.rb +20 -22
  7. data/lib/constantcontact/services/activity_service.rb +98 -100
  8. data/lib/constantcontact/services/base_service.rb +46 -44
  9. data/lib/constantcontact/services/campaign_schedule_service.rb +72 -74
  10. data/lib/constantcontact/services/campaign_tracking_service.rb +103 -105
  11. data/lib/constantcontact/services/contact_service.rb +73 -75
  12. data/lib/constantcontact/services/contact_tracking_service.rb +103 -105
  13. data/lib/constantcontact/services/email_marketing_service.rb +64 -66
  14. data/lib/constantcontact/services/event_spot_service.rb +356 -358
  15. data/lib/constantcontact/services/library_service.rb +228 -230
  16. data/lib/constantcontact/services/list_service.rb +55 -57
  17. data/lib/constantcontact/version.rb +1 -1
  18. data/spec/constantcontact/api_spec.rb +2 -4
  19. data/spec/constantcontact/services/account_service_spec.rb +3 -2
  20. data/spec/constantcontact/services/activity_service_spec.rb +10 -9
  21. data/spec/constantcontact/services/base_service_spec.rb +7 -5
  22. data/spec/constantcontact/services/campaign_schedule_service_spec.rb +7 -6
  23. data/spec/constantcontact/services/campaign_tracking_service_spec.rb +8 -7
  24. data/spec/constantcontact/services/contact_service_spec.rb +8 -7
  25. data/spec/constantcontact/services/contact_tracking_service_spec.rb +8 -7
  26. data/spec/constantcontact/services/email_marketing_spec.rb +7 -6
  27. data/spec/constantcontact/services/event_spot_spec.rb +28 -27
  28. data/spec/constantcontact/services/library_service_spec.rb +17 -16
  29. data/spec/constantcontact/services/list_service_spec.rb +6 -5
  30. metadata +20 -20
@@ -7,88 +7,86 @@
7
7
  module ConstantContact
8
8
  module Services
9
9
  class EmailMarketingService < BaseService
10
- class << self
11
-
12
- # Create a new campaign
13
- # @param [Campaign] campaign - Campaign to be created
14
- # @return [Campaign]
15
- def add_campaign(campaign)
16
- url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.campaigns')
17
- url = build_url(url)
18
- payload = campaign.to_json
19
- response = RestClient.post(url, payload, get_headers())
20
- Components::Campaign.create(JSON.parse(response.body))
21
- end
22
10
 
11
+ # Create a new campaign
12
+ # @param [Campaign] campaign - Campaign to be created
13
+ # @return [Campaign]
14
+ def add_campaign(campaign)
15
+ url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.campaigns')
16
+ url = build_url(url)
17
+ payload = campaign.to_json
18
+ response = RestClient.post(url, payload, get_headers())
19
+ Components::Campaign.create(JSON.parse(response.body))
20
+ end
23
21
 
24
- # Get a set of campaigns
25
- # @param [Hash] params - query parameters to be appended to the request
26
- # @return [ResultSet<Campaign>]
27
- def get_campaigns(params = {})
28
- url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.campaigns')
29
- url = build_url(url, params)
30
22
 
31
- response = RestClient.get(url, get_headers())
32
- body = JSON.parse(response.body)
23
+ # Get a set of campaigns
24
+ # @param [Hash] params - query parameters to be appended to the request
25
+ # @return [ResultSet<Campaign>]
26
+ def get_campaigns(params = {})
27
+ url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.campaigns')
28
+ url = build_url(url, params)
33
29
 
34
- campaigns = []
35
- body['results'].each do |campaign|
36
- campaigns << Components::Campaign.create_summary(campaign)
37
- end
30
+ response = RestClient.get(url, get_headers())
31
+ body = JSON.parse(response.body)
38
32
 
39
- Components::ResultSet.new(campaigns, body['meta'])
33
+ campaigns = []
34
+ body['results'].each do |campaign|
35
+ campaigns << Components::Campaign.create_summary(campaign)
40
36
  end
41
37
 
38
+ Components::ResultSet.new(campaigns, body['meta'])
39
+ end
42
40
 
43
- # Get campaign details for a specific campaign
44
- # @param [Integer] campaign_id - Valid campaign id
45
- # @return [Campaign]
46
- def get_campaign(campaign_id)
47
- url = Util::Config.get('endpoints.base_url') +
48
- sprintf(Util::Config.get('endpoints.campaign'), campaign_id)
49
- url = build_url(url)
50
- response = RestClient.get(url, get_headers())
51
- Components::Campaign.create(JSON.parse(response.body))
52
- end
53
41
 
42
+ # Get campaign details for a specific campaign
43
+ # @param [Integer] campaign_id - Valid campaign id
44
+ # @return [Campaign]
45
+ def get_campaign(campaign_id)
46
+ url = Util::Config.get('endpoints.base_url') +
47
+ sprintf(Util::Config.get('endpoints.campaign'), campaign_id)
48
+ url = build_url(url)
49
+ response = RestClient.get(url, get_headers())
50
+ Components::Campaign.create(JSON.parse(response.body))
51
+ end
54
52
 
55
- # Get the preview of the given campaign
56
- # @param [Integer] campaign_id - Valid campaign id
57
- # @return [CampaignPreview]
58
- def get_campaign_preview(campaign_id)
59
- url = Util::Config.get('endpoints.base_url') +
60
- sprintf(Util::Config.get('endpoints.campaign_preview'), campaign_id)
61
- url = build_url(url)
62
- response = RestClient.get(url, get_headers())
63
- Components::CampaignPreview.create(JSON.parse(response.body))
64
- end
65
53
 
54
+ # Get the preview of the given campaign
55
+ # @param [Integer] campaign_id - Valid campaign id
56
+ # @return [CampaignPreview]
57
+ def get_campaign_preview(campaign_id)
58
+ url = Util::Config.get('endpoints.base_url') +
59
+ sprintf(Util::Config.get('endpoints.campaign_preview'), campaign_id)
60
+ url = build_url(url)
61
+ response = RestClient.get(url, get_headers())
62
+ Components::CampaignPreview.create(JSON.parse(response.body))
63
+ end
66
64
 
67
- # Delete an email campaign
68
- # @param [Integer] campaign_id - Valid campaign id
69
- # @return [Boolean]
70
- def delete_campaign(campaign_id)
71
- url = Util::Config.get('endpoints.base_url') +
72
- sprintf(Util::Config.get('endpoints.campaign'), campaign_id)
73
- url = build_url(url)
74
- response = RestClient.delete(url, get_headers())
75
- response.code == 204
76
- end
77
65
 
66
+ # Delete an email campaign
67
+ # @param [Integer] campaign_id - Valid campaign id
68
+ # @return [Boolean]
69
+ def delete_campaign(campaign_id)
70
+ url = Util::Config.get('endpoints.base_url') +
71
+ sprintf(Util::Config.get('endpoints.campaign'), campaign_id)
72
+ url = build_url(url)
73
+ response = RestClient.delete(url, get_headers())
74
+ response.code == 204
75
+ end
78
76
 
79
- # Update a specific email campaign
80
- # @param [Campaign] campaign - Campaign to be updated
81
- # @return [Campaign]
82
- def update_campaign(campaign)
83
- url = Util::Config.get('endpoints.base_url') +
84
- sprintf(Util::Config.get('endpoints.campaign'), campaign.id)
85
- url = build_url(url)
86
- payload = campaign.to_json
87
- response = RestClient.put(url, payload, get_headers())
88
- Components::Campaign.create(JSON.parse(response.body))
89
- end
90
77
 
78
+ # Update a specific email campaign
79
+ # @param [Campaign] campaign - Campaign to be updated
80
+ # @return [Campaign]
81
+ def update_campaign(campaign)
82
+ url = Util::Config.get('endpoints.base_url') +
83
+ sprintf(Util::Config.get('endpoints.campaign'), campaign.id)
84
+ url = build_url(url)
85
+ payload = campaign.to_json
86
+ response = RestClient.put(url, payload, get_headers())
87
+ Components::Campaign.create(JSON.parse(response.body))
91
88
  end
89
+
92
90
  end
93
91
  end
94
92
  end
@@ -7,442 +7,440 @@
7
7
  module ConstantContact
8
8
  module Services
9
9
  class EventSpotService < BaseService
10
- class << self
11
-
12
- # Create a new event
13
- # @param [Event] event - Event to be created
14
- # @return [Event]
15
- def add_event(event)
16
- url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.events')
17
- url = build_url(url)
18
- payload = event.to_json
19
- response = RestClient.post(url, payload, get_headers())
20
- Components::Event.create(JSON.parse(response.body))
21
- end
22
10
 
11
+ # Create a new event
12
+ # @param [Event] event - Event to be created
13
+ # @return [Event]
14
+ def add_event(event)
15
+ url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.events')
16
+ url = build_url(url)
17
+ payload = event.to_json
18
+ response = RestClient.post(url, payload, get_headers())
19
+ Components::Event.create(JSON.parse(response.body))
20
+ end
23
21
 
24
- # Get a set of events
25
- # @param [Hash] opts query parameters to be appended to the request
26
- # @option opts [String] status email campaigns status of DRAFT, RUNNING, SENT, SCHEDULED.
27
- # @option opts [String] modified_since ISO-8601 date string to return campaigns modified since then.
28
- # @option opts [Integer] limit number of campaigns to return, 1 to 50.
29
- # @return [ResultSet<Event>]
30
- def get_events(opts = {})
31
- url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.events')
32
- url = build_url(url, opts)
33
22
 
34
- response = RestClient.get(url, get_headers())
35
- body = JSON.parse(response.body)
23
+ # Get a set of events
24
+ # @param [Hash] opts query parameters to be appended to the request
25
+ # @option opts [String] status email campaigns status of DRAFT, RUNNING, SENT, SCHEDULED.
26
+ # @option opts [String] modified_since ISO-8601 date string to return campaigns modified since then.
27
+ # @option opts [Integer] limit number of campaigns to return, 1 to 50.
28
+ # @return [ResultSet<Event>]
29
+ def get_events(opts = {})
30
+ url = Util::Config.get('endpoints.base_url') + Util::Config.get('endpoints.events')
31
+ url = build_url(url, opts)
36
32
 
37
- events = body['results'].collect do |event|
38
- Components::Event.create_summary(event)
39
- end
33
+ response = RestClient.get(url, get_headers())
34
+ body = JSON.parse(response.body)
40
35
 
41
- Components::ResultSet.new(events, body['meta'])
36
+ events = body['results'].collect do |event|
37
+ Components::Event.create_summary(event)
42
38
  end
43
39
 
40
+ Components::ResultSet.new(events, body['meta'])
41
+ end
44
42
 
45
- # Get event details for a specific event
46
- # @param [Integer] event - Valid event id
47
- # @return [Event]
48
- def get_event(event)
49
- event_id = get_id_for(event)
50
- url = Util::Config.get('endpoints.base_url') +
51
- sprintf(Util::Config.get('endpoints.event'), event_id)
52
- url = build_url(url)
53
- response = RestClient.get(url, get_headers())
54
- Components::Event.create(JSON.parse(response.body))
55
- end
56
43
 
44
+ # Get event details for a specific event
45
+ # @param [Integer] event - Valid event id
46
+ # @return [Event]
47
+ def get_event(event)
48
+ event_id = get_id_for(event)
49
+ url = Util::Config.get('endpoints.base_url') +
50
+ sprintf(Util::Config.get('endpoints.event'), event_id)
51
+ url = build_url(url)
52
+ response = RestClient.get(url, get_headers())
53
+ Components::Event.create(JSON.parse(response.body))
54
+ end
57
55
 
58
- # Update a specific EventSpot event
59
- # @param [Event] event - Event to be updated
60
- # @return [Event]
61
- def update_event(event)
62
- event_id = get_id_for(event)
63
- url = Util::Config.get('endpoints.base_url') +
64
- sprintf(Util::Config.get('endpoints.event'), event_id)
65
- url = build_url(url)
66
- payload = event.to_json
67
- response = RestClient.put(url, payload, get_headers())
68
- Components::Event.create(JSON.parse(response.body))
69
- end
70
56
 
57
+ # Update a specific EventSpot event
58
+ # @param [Event] event - Event to be updated
59
+ # @return [Event]
60
+ def update_event(event)
61
+ event_id = get_id_for(event)
62
+ url = Util::Config.get('endpoints.base_url') +
63
+ sprintf(Util::Config.get('endpoints.event'), event_id)
64
+ url = build_url(url)
65
+ payload = event.to_json
66
+ response = RestClient.put(url, payload, get_headers())
67
+ Components::Event.create(JSON.parse(response.body))
68
+ end
71
69
 
72
- # Publish a specific EventSpot event
73
- # @param [Event] event - Event to be updated
74
- # @return [Event]
75
- def publish_event(event)
76
- event_id = get_id_for(event)
77
- url = Util::Config.get('endpoints.base_url') +
78
- sprintf(Util::Config.get('endpoints.event'), event_id)
79
- url = build_url(url)
80
- payload = [{:op => "REPLACE", :path => "#/status", :value => "ACTIVE"}].to_json
81
- response = RestClient.patch(url, payload, get_headers())
82
- Components::Event.create(JSON.parse(response.body))
83
- end
84
70
 
71
+ # Publish a specific EventSpot event
72
+ # @param [Event] event - Event to be updated
73
+ # @return [Event]
74
+ def publish_event(event)
75
+ event_id = get_id_for(event)
76
+ url = Util::Config.get('endpoints.base_url') +
77
+ sprintf(Util::Config.get('endpoints.event'), event_id)
78
+ url = build_url(url)
79
+ payload = [{:op => "REPLACE", :path => "#/status", :value => "ACTIVE"}].to_json
80
+ response = RestClient.patch(url, payload, get_headers())
81
+ Components::Event.create(JSON.parse(response.body))
82
+ end
85
83
 
86
- # Cancel a specific EventSpot event
87
- # @param [Event] event - Event to be updated
88
- # @return [Event]
89
- def cancel_event(event)
90
- event_id = get_id_for(event)
91
- url = Util::Config.get('endpoints.base_url') +
92
- sprintf(Util::Config.get('endpoints.event'), event_id)
93
- url = build_url(url)
94
- payload = [{ :op => "REPLACE", :path => "#/status", :value => "CANCELLED" }].to_json
95
- response = RestClient.patch(url, payload, get_headers())
96
- Components::Event.create(JSON.parse(response.body))
97
- end
98
84
 
85
+ # Cancel a specific EventSpot event
86
+ # @param [Event] event - Event to be updated
87
+ # @return [Event]
88
+ def cancel_event(event)
89
+ event_id = get_id_for(event)
90
+ url = Util::Config.get('endpoints.base_url') +
91
+ sprintf(Util::Config.get('endpoints.event'), event_id)
92
+ url = build_url(url)
93
+ payload = [{ :op => "REPLACE", :path => "#/status", :value => "CANCELLED" }].to_json
94
+ response = RestClient.patch(url, payload, get_headers())
95
+ Components::Event.create(JSON.parse(response.body))
96
+ end
99
97
 
100
- # Create a new event fee
101
- # @param [Integer] event - Valid event id
102
- # @param [EventFee] fee - Event fee to be created
103
- # @return [EventFee]
104
- def add_fee(event, fee)
105
- event_id = get_id_for(event)
106
- url = Util::Config.get('endpoints.base_url') +
107
- sprintf(Util::Config.get('endpoints.event_fees'), event_id)
108
- url = build_url(url)
109
- payload = fee.to_json
110
- response = RestClient.post(url, payload, get_headers())
111
- Components::EventFee.create(JSON.parse(response.body))
112
- end
98
+
99
+ # Create a new event fee
100
+ # @param [Integer] event - Valid event id
101
+ # @param [EventFee] fee - Event fee to be created
102
+ # @return [EventFee]
103
+ def add_fee(event, fee)
104
+ event_id = get_id_for(event)
105
+ url = Util::Config.get('endpoints.base_url') +
106
+ sprintf(Util::Config.get('endpoints.event_fees'), event_id)
107
+ url = build_url(url)
108
+ payload = fee.to_json
109
+ response = RestClient.post(url, payload, get_headers())
110
+ Components::EventFee.create(JSON.parse(response.body))
111
+ end
113
112
 
114
113
 
115
- # Get an array of event fees
116
- # @param [Integer] event - Valid event id
117
- # @return [Array<EventFee>]
118
- def get_fees(event)
119
- event_id = get_id_for(event)
120
- url = Util::Config.get('endpoints.base_url') +
121
- sprintf(Util::Config.get('endpoints.event_fees'), event_id)
122
- url = build_url(url)
123
-
124
- response = RestClient.get(url, get_headers())
125
- body = JSON.parse(response.body)
126
-
127
- fees = body.collect do |fee|
128
- Components::EventFee.create(fee)
129
- end
114
+ # Get an array of event fees
115
+ # @param [Integer] event - Valid event id
116
+ # @return [Array<EventFee>]
117
+ def get_fees(event)
118
+ event_id = get_id_for(event)
119
+ url = Util::Config.get('endpoints.base_url') +
120
+ sprintf(Util::Config.get('endpoints.event_fees'), event_id)
121
+ url = build_url(url)
122
+
123
+ response = RestClient.get(url, get_headers())
124
+ body = JSON.parse(response.body)
125
+
126
+ fees = body.collect do |fee|
127
+ Components::EventFee.create(fee)
130
128
  end
129
+ end
131
130
 
132
131
 
133
- # Get an individual event fee
134
- # @param [Integer] event - Valid event id
135
- # @param [Integer] fee - Valid fee id
136
- # @return [EventFee]
137
- def get_fee(event, fee)
138
- event_id = get_id_for(event)
139
- fee_id = get_id_for(fee)
140
- url = Util::Config.get('endpoints.base_url') +
141
- sprintf(Util::Config.get('endpoints.event_fee'), event_id, fee_id)
142
- url = build_url(url)
132
+ # Get an individual event fee
133
+ # @param [Integer] event - Valid event id
134
+ # @param [Integer] fee - Valid fee id
135
+ # @return [EventFee]
136
+ def get_fee(event, fee)
137
+ event_id = get_id_for(event)
138
+ fee_id = get_id_for(fee)
139
+ url = Util::Config.get('endpoints.base_url') +
140
+ sprintf(Util::Config.get('endpoints.event_fee'), event_id, fee_id)
141
+ url = build_url(url)
143
142
 
144
- response = RestClient.get(url, get_headers())
145
- fee = Components::EventFee.create(JSON.parse(response.body))
146
- end
143
+ response = RestClient.get(url, get_headers())
144
+ fee = Components::EventFee.create(JSON.parse(response.body))
145
+ end
147
146
 
148
147
 
149
- # Update an individual event fee
150
- # @param [Integer] event - Valid event id
151
- # @param [Integer] fee - Valid fee id
152
- # @return [EventFee]
153
- def update_fee(event, fee)
154
- event_id = get_id_for(event)
155
- if fee.kind_of?(ConstantContact::Components::EventFee)
156
- fee_id = fee.id
157
- elsif fee.kind_of?(Hash)
158
- fee_id = fee['id']
159
- else
160
- raise ArgumentError.new "Fee must be a Hash or ConstantContact::Components::Fee"
161
- end
162
-
163
- url = Util::Config.get('endpoints.base_url') +
164
- sprintf(Util::Config.get('endpoints.event_fee'), event_id, fee_id)
165
- url = build_url(url)
166
- payload = fee.to_json
167
-
168
- response = RestClient.put(url, payload, get_headers())
169
- fee = Components::EventFee.create(JSON.parse(response.body))
148
+ # Update an individual event fee
149
+ # @param [Integer] event - Valid event id
150
+ # @param [Integer] fee - Valid fee id
151
+ # @return [EventFee]
152
+ def update_fee(event, fee)
153
+ event_id = get_id_for(event)
154
+ if fee.kind_of?(ConstantContact::Components::EventFee)
155
+ fee_id = fee.id
156
+ elsif fee.kind_of?(Hash)
157
+ fee_id = fee['id']
158
+ else
159
+ raise ArgumentError.new "Fee must be a Hash or ConstantContact::Components::Fee"
170
160
  end
171
161
 
162
+ url = Util::Config.get('endpoints.base_url') +
163
+ sprintf(Util::Config.get('endpoints.event_fee'), event_id, fee_id)
164
+ url = build_url(url)
165
+ payload = fee.to_json
172
166
 
173
- # Delete an individual event fee
174
- # @param [Integer] event - Valid event id
175
- # @param [Integer] fee - Valid fee id
176
- # @return [Boolean]
177
- def delete_fee(event, fee)
178
- event_id = get_id_for(event)
179
- fee_id = get_id_for(fee)
180
- url = Util::Config.get('endpoints.base_url') +
181
- sprintf(Util::Config.get('endpoints.event_fee'), event_id, fee_id)
182
- url = build_url(url)
167
+ response = RestClient.put(url, payload, get_headers())
168
+ fee = Components::EventFee.create(JSON.parse(response.body))
169
+ end
183
170
 
184
- response = RestClient.delete(url, get_headers())
185
- response.code == 204
186
- end
187
171
 
172
+ # Delete an individual event fee
173
+ # @param [Integer] event - Valid event id
174
+ # @param [Integer] fee - Valid fee id
175
+ # @return [Boolean]
176
+ def delete_fee(event, fee)
177
+ event_id = get_id_for(event)
178
+ fee_id = get_id_for(fee)
179
+ url = Util::Config.get('endpoints.base_url') +
180
+ sprintf(Util::Config.get('endpoints.event_fee'), event_id, fee_id)
181
+ url = build_url(url)
188
182
 
189
- # Get a set of event registrants
190
- # @param [Integer] event - Valid event id
191
- # @return [ResultSet<Registrant>]
192
- def get_registrants(event)
193
- event_id = event.kind_of?(ConstantContact::Components::Event) ? event.id : event
194
- url = Util::Config.get('endpoints.base_url') +
195
- sprintf(Util::Config.get('endpoints.event_registrants'), event_id)
196
- url = build_url(url)
183
+ response = RestClient.delete(url, get_headers())
184
+ response.code == 204
185
+ end
197
186
 
198
- response = RestClient.get(url, get_headers())
199
- body = JSON.parse(response.body)
200
187
 
201
- registrants = body['results'].collect do |registrant|
202
- Components::Registrant.create(registrant)
203
- end
188
+ # Get a set of event registrants
189
+ # @param [Integer] event - Valid event id
190
+ # @return [ResultSet<Registrant>]
191
+ def get_registrants(event)
192
+ event_id = event.kind_of?(ConstantContact::Components::Event) ? event.id : event
193
+ url = Util::Config.get('endpoints.base_url') +
194
+ sprintf(Util::Config.get('endpoints.event_registrants'), event_id)
195
+ url = build_url(url)
204
196
 
205
- Components::ResultSet.new(registrants, body['meta'])
197
+ response = RestClient.get(url, get_headers())
198
+ body = JSON.parse(response.body)
199
+
200
+ registrants = body['results'].collect do |registrant|
201
+ Components::Registrant.create(registrant)
206
202
  end
207
203
 
204
+ Components::ResultSet.new(registrants, body['meta'])
205
+ end
208
206
 
209
- # Get an individual event registant
210
- # @param [Integer] event - Valid event id
211
- # @param [Integer] registrant - Valid fee id
212
- # @return [Registrant]
213
- def get_registrant(event, registrant)
214
- event_id = get_id_for(event)
215
- registrant_id = get_id_for(registrant)
216
- url = Util::Config.get('endpoints.base_url') +
217
- sprintf(Util::Config.get('endpoints.event_registrant'), event_id, registrant_id)
218
- url = build_url(url)
219
207
 
220
- response = RestClient.get(url, get_headers())
221
- Components::Registrant.create(JSON.parse(response.body))
222
- end
208
+ # Get an individual event registant
209
+ # @param [Integer] event - Valid event id
210
+ # @param [Integer] registrant - Valid fee id
211
+ # @return [Registrant]
212
+ def get_registrant(event, registrant)
213
+ event_id = get_id_for(event)
214
+ registrant_id = get_id_for(registrant)
215
+ url = Util::Config.get('endpoints.base_url') +
216
+ sprintf(Util::Config.get('endpoints.event_registrant'), event_id, registrant_id)
217
+ url = build_url(url)
223
218
 
219
+ response = RestClient.get(url, get_headers())
220
+ Components::Registrant.create(JSON.parse(response.body))
221
+ end
224
222
 
225
- # Get an array of event items for an individual event
226
- # @param [Integer] event_id - event id to retrieve items for
227
- # @return [Array<EventItem>]
228
- def get_event_items(event_id)
229
- url = Util::Config.get('endpoints.base_url') +
230
- sprintf(Util::Config.get('endpoints.event_items'), event_id)
231
- url = build_url(url)
232
- response = RestClient.get(url, get_headers())
233
223
 
234
- event_items = []
235
- JSON.parse(response.body).each do |event_item|
236
- event_items << Components::EventItem.create(event_item)
237
- end
224
+ # Get an array of event items for an individual event
225
+ # @param [Integer] event_id - event id to retrieve items for
226
+ # @return [Array<EventItem>]
227
+ def get_event_items(event_id)
228
+ url = Util::Config.get('endpoints.base_url') +
229
+ sprintf(Util::Config.get('endpoints.event_items'), event_id)
230
+ url = build_url(url)
231
+ response = RestClient.get(url, get_headers())
238
232
 
239
- event_items
233
+ event_items = []
234
+ JSON.parse(response.body).each do |event_item|
235
+ event_items << Components::EventItem.create(event_item)
240
236
  end
241
237
 
238
+ event_items
239
+ end
242
240
 
243
- # Get an individual event item
244
- # @param [Integer] event_id - id of event to retrieve item for
245
- # @param [Integer] item_id - id of item to be retrieved
246
- # @return [EventItem]
247
- def get_event_item(event_id, item_id)
248
- url = Util::Config.get('endpoints.base_url') +
249
- sprintf(Util::Config.get('endpoints.event_item'), event_id, item_id)
250
- url = build_url(url)
251
- response = RestClient.get(url, get_headers())
252
- Components::EventItem.create(JSON.parse(response.body))
253
- end
254
241
 
242
+ # Get an individual event item
243
+ # @param [Integer] event_id - id of event to retrieve item for
244
+ # @param [Integer] item_id - id of item to be retrieved
245
+ # @return [EventItem]
246
+ def get_event_item(event_id, item_id)
247
+ url = Util::Config.get('endpoints.base_url') +
248
+ sprintf(Util::Config.get('endpoints.event_item'), event_id, item_id)
249
+ url = build_url(url)
250
+ response = RestClient.get(url, get_headers())
251
+ Components::EventItem.create(JSON.parse(response.body))
252
+ end
255
253
 
256
- # Create a new event item for an event
257
- # @param [Integer] event_id - id of event to be associated with the event item
258
- # @param [EventItem] event_item - event item to be created
259
- # @return [EventItem]
260
- def add_event_item(event_id, event_item)
261
- url = Util::Config.get('endpoints.base_url') +
262
- sprintf(Util::Config.get('endpoints.event_items'), event_id)
263
- url = build_url(url)
264
- payload = event_item.to_json
265
- response = RestClient.post(url, payload, get_headers())
266
- Components::EventItem.create(JSON.parse(response.body))
267
- end
268
254
 
255
+ # Create a new event item for an event
256
+ # @param [Integer] event_id - id of event to be associated with the event item
257
+ # @param [EventItem] event_item - event item to be created
258
+ # @return [EventItem]
259
+ def add_event_item(event_id, event_item)
260
+ url = Util::Config.get('endpoints.base_url') +
261
+ sprintf(Util::Config.get('endpoints.event_items'), event_id)
262
+ url = build_url(url)
263
+ payload = event_item.to_json
264
+ response = RestClient.post(url, payload, get_headers())
265
+ Components::EventItem.create(JSON.parse(response.body))
266
+ end
269
267
 
270
- # Delete a specific event item for an event
271
- # @param [Integer] event_id - id of event to delete an event item for
272
- # @param [Integer] item_id - id of event item to be deleted
273
- # @return [Boolean]
274
- def delete_event_item(event_id, item_id)
275
- url = Util::Config.get('endpoints.base_url') +
276
- sprintf(Util::Config.get('endpoints.event_item'), event_id, item_id)
277
- url = build_url(url)
278
- response = RestClient.delete(url, get_headers())
279
- response.code == 204
280
- end
281
268
 
269
+ # Delete a specific event item for an event
270
+ # @param [Integer] event_id - id of event to delete an event item for
271
+ # @param [Integer] item_id - id of event item to be deleted
272
+ # @return [Boolean]
273
+ def delete_event_item(event_id, item_id)
274
+ url = Util::Config.get('endpoints.base_url') +
275
+ sprintf(Util::Config.get('endpoints.event_item'), event_id, item_id)
276
+ url = build_url(url)
277
+ response = RestClient.delete(url, get_headers())
278
+ response.code == 204
279
+ end
282
280
 
283
- # Update a specific event item for an event
284
- # @param [Integer] event_id - id of event associated with the event item
285
- # @param [EventItem] event_item - event item to be updated
286
- # @return [EventItem]
287
- def update_event_item(event_id, event_item)
288
- url = Util::Config.get('endpoints.base_url') +
289
- sprintf(Util::Config.get('endpoints.event_item'), event_id, event_item.id)
290
- url = build_url(url)
291
- payload = event_item.to_json
292
- response = RestClient.put(url, payload, get_headers())
293
- Components::EventItem.create(JSON.parse(response.body))
294
- end
295
281
 
282
+ # Update a specific event item for an event
283
+ # @param [Integer] event_id - id of event associated with the event item
284
+ # @param [EventItem] event_item - event item to be updated
285
+ # @return [EventItem]
286
+ def update_event_item(event_id, event_item)
287
+ url = Util::Config.get('endpoints.base_url') +
288
+ sprintf(Util::Config.get('endpoints.event_item'), event_id, event_item.id)
289
+ url = build_url(url)
290
+ payload = event_item.to_json
291
+ response = RestClient.put(url, payload, get_headers())
292
+ Components::EventItem.create(JSON.parse(response.body))
293
+ end
296
294
 
297
- # Get an array of attributes for an individual event item
298
- # @param [Integer] event_id - event id to retrieve item for
299
- # @param [Integer] item_id - event item id to retrieve attributes for
300
- # @return [Array<EventItemAttribute>]
301
- def get_event_item_attributes(event_id, item_id)
302
- url = Util::Config.get('endpoints.base_url') +
303
- sprintf(Util::Config.get('endpoints.event_item_attributes'), event_id, item_id)
304
- url = build_url(url)
305
- response = RestClient.get(url, get_headers())
306
295
 
307
- event_item_attributes = []
308
- JSON.parse(response.body).each do |event_item_attribute|
309
- event_item_attributes << Components::EventItemAttribute.create(event_item_attribute)
310
- end
296
+ # Get an array of attributes for an individual event item
297
+ # @param [Integer] event_id - event id to retrieve item for
298
+ # @param [Integer] item_id - event item id to retrieve attributes for
299
+ # @return [Array<EventItemAttribute>]
300
+ def get_event_item_attributes(event_id, item_id)
301
+ url = Util::Config.get('endpoints.base_url') +
302
+ sprintf(Util::Config.get('endpoints.event_item_attributes'), event_id, item_id)
303
+ url = build_url(url)
304
+ response = RestClient.get(url, get_headers())
311
305
 
312
- event_item_attributes
306
+ event_item_attributes = []
307
+ JSON.parse(response.body).each do |event_item_attribute|
308
+ event_item_attributes << Components::EventItemAttribute.create(event_item_attribute)
313
309
  end
314
310
 
311
+ event_item_attributes
312
+ end
315
313
 
316
- # Get an individual event item attribute
317
- # @param [Integer] event_id - id of event to retrieve item for
318
- # @param [Integer] item_id - id of item to retrieve attribute for
319
- # @param [Integer] attribute_id - id of attribute to be retrieved
320
- # @return [EventItemAttribute]
321
- def get_event_item_attribute(event_id, item_id, attribute_id)
322
- url = Util::Config.get('endpoints.base_url') +
323
- sprintf(Util::Config.get('endpoints.event_item_attribute'), event_id, item_id, attribute_id)
324
- url = build_url(url)
325
- response = RestClient.get(url, get_headers())
326
- Components::EventItemAttribute.create(JSON.parse(response.body))
327
- end
328
314
 
315
+ # Get an individual event item attribute
316
+ # @param [Integer] event_id - id of event to retrieve item for
317
+ # @param [Integer] item_id - id of item to retrieve attribute for
318
+ # @param [Integer] attribute_id - id of attribute to be retrieved
319
+ # @return [EventItemAttribute]
320
+ def get_event_item_attribute(event_id, item_id, attribute_id)
321
+ url = Util::Config.get('endpoints.base_url') +
322
+ sprintf(Util::Config.get('endpoints.event_item_attribute'), event_id, item_id, attribute_id)
323
+ url = build_url(url)
324
+ response = RestClient.get(url, get_headers())
325
+ Components::EventItemAttribute.create(JSON.parse(response.body))
326
+ end
329
327
 
330
- # Create a new event item attribute for an event item
331
- # @param [Integer] event_id - id of event to be associated with the event item attribute
332
- # @param [Integer] item_id - id of event item to be associated with the event item attribute
333
- # @param [EventItemAttribute] event_item_attribute - event item attribute to be created
334
- # @return [EventItemAttribute]
335
- def add_event_item_attribute(event_id, item_id, event_item_attribute)
336
- url = Util::Config.get('endpoints.base_url') +
337
- sprintf(Util::Config.get('endpoints.event_item_attributes'), event_id, item_id)
338
- url = build_url(url)
339
- payload = event_item_attribute.to_json
340
- response = RestClient.post(url, payload, get_headers())
341
- Components::EventItemAttribute.create(JSON.parse(response.body))
342
- end
343
328
 
329
+ # Create a new event item attribute for an event item
330
+ # @param [Integer] event_id - id of event to be associated with the event item attribute
331
+ # @param [Integer] item_id - id of event item to be associated with the event item attribute
332
+ # @param [EventItemAttribute] event_item_attribute - event item attribute to be created
333
+ # @return [EventItemAttribute]
334
+ def add_event_item_attribute(event_id, item_id, event_item_attribute)
335
+ url = Util::Config.get('endpoints.base_url') +
336
+ sprintf(Util::Config.get('endpoints.event_item_attributes'), event_id, item_id)
337
+ url = build_url(url)
338
+ payload = event_item_attribute.to_json
339
+ response = RestClient.post(url, payload, get_headers())
340
+ Components::EventItemAttribute.create(JSON.parse(response.body))
341
+ end
344
342
 
345
- # Delete a specific event item for an event
346
- # @param [Integer] event_id - id of event to delete an event item attribute for
347
- # @param [Integer] item_id - id of event item to delete an event item attribute for
348
- # @param [Integer] attribute_id - id of attribute to be deleted
349
- # @return [Boolean]
350
- def delete_event_item_attribute(event_id, item_id, attribute_id)
351
- url = Util::Config.get('endpoints.base_url') +
352
- sprintf(Util::Config.get('endpoints.event_item_attribute'), event_id, item_id, attribute_id)
353
- url = build_url(url)
354
- response = RestClient.delete(url, get_headers())
355
- response.code == 204
356
- end
357
343
 
344
+ # Delete a specific event item for an event
345
+ # @param [Integer] event_id - id of event to delete an event item attribute for
346
+ # @param [Integer] item_id - id of event item to delete an event item attribute for
347
+ # @param [Integer] attribute_id - id of attribute to be deleted
348
+ # @return [Boolean]
349
+ def delete_event_item_attribute(event_id, item_id, attribute_id)
350
+ url = Util::Config.get('endpoints.base_url') +
351
+ sprintf(Util::Config.get('endpoints.event_item_attribute'), event_id, item_id, attribute_id)
352
+ url = build_url(url)
353
+ response = RestClient.delete(url, get_headers())
354
+ response.code == 204
355
+ end
358
356
 
359
- # Update a specific event item attribute for an event item
360
- # @param [Integer] event_id - id of event associated with the event item
361
- # @param [Integer] item_id - id of event item associated with the event item attribute
362
- # @param [EventItemAttribute] event_item_attribute - event item to be updated
363
- # @return [EventItemAttribute]
364
- def update_event_item_attribute(event_id, item_id, event_item_attribute)
365
- url = Util::Config.get('endpoints.base_url') +
366
- sprintf(Util::Config.get('endpoints.event_item'), event_id, item_id, event_item_attribute.id)
367
- url = build_url(url)
368
- payload = event_item_attribute.to_json
369
- response = RestClient.put(url, payload, get_headers())
370
- Components::EventItemAttribute.create(JSON.parse(response.body))
371
- end
372
357
 
358
+ # Update a specific event item attribute for an event item
359
+ # @param [Integer] event_id - id of event associated with the event item
360
+ # @param [Integer] item_id - id of event item associated with the event item attribute
361
+ # @param [EventItemAttribute] event_item_attribute - event item to be updated
362
+ # @return [EventItemAttribute]
363
+ def update_event_item_attribute(event_id, item_id, event_item_attribute)
364
+ url = Util::Config.get('endpoints.base_url') +
365
+ sprintf(Util::Config.get('endpoints.event_item'), event_id, item_id, event_item_attribute.id)
366
+ url = build_url(url)
367
+ payload = event_item_attribute.to_json
368
+ response = RestClient.put(url, payload, get_headers())
369
+ Components::EventItemAttribute.create(JSON.parse(response.body))
370
+ end
373
371
 
374
- # Get an array of promocodes for an individual event
375
- # @param [Integer] event_id - event id to retrieve promocodes for
376
- # @return [Array<Promocode>]
377
- def get_promocodes(event_id)
378
- url = Util::Config.get('endpoints.base_url') +
379
- sprintf(Util::Config.get('endpoints.event_promocodes'), event_id)
380
- url = build_url(url)
381
- response = RestClient.get(url, get_headers())
382
372
 
383
- promocodes = []
384
- JSON.parse(response.body).each do |promocode|
385
- promocodes << Components::Promocode.create(promocode)
386
- end
373
+ # Get an array of promocodes for an individual event
374
+ # @param [Integer] event_id - event id to retrieve promocodes for
375
+ # @return [Array<Promocode>]
376
+ def get_promocodes(event_id)
377
+ url = Util::Config.get('endpoints.base_url') +
378
+ sprintf(Util::Config.get('endpoints.event_promocodes'), event_id)
379
+ url = build_url(url)
380
+ response = RestClient.get(url, get_headers())
387
381
 
388
- promocodes
382
+ promocodes = []
383
+ JSON.parse(response.body).each do |promocode|
384
+ promocodes << Components::Promocode.create(promocode)
389
385
  end
390
386
 
387
+ promocodes
388
+ end
391
389
 
392
- # Get an individual promocode
393
- # @param [Integer] event_id - id of event to retrieve item for
394
- # @param [Integer] promocode_id - id of item to be retrieved
395
- # @return [Promocode]
396
- def get_promocode(event_id, promocode_id)
397
- url = Util::Config.get('endpoints.base_url') +
398
- sprintf(Util::Config.get('endpoints.event_promocode'), event_id, promocode_id)
399
- url = build_url(url)
400
- response = RestClient.get(url, get_headers())
401
- Components::Promocode.create(JSON.parse(response.body))
402
- end
403
390
 
391
+ # Get an individual promocode
392
+ # @param [Integer] event_id - id of event to retrieve item for
393
+ # @param [Integer] promocode_id - id of item to be retrieved
394
+ # @return [Promocode]
395
+ def get_promocode(event_id, promocode_id)
396
+ url = Util::Config.get('endpoints.base_url') +
397
+ sprintf(Util::Config.get('endpoints.event_promocode'), event_id, promocode_id)
398
+ url = build_url(url)
399
+ response = RestClient.get(url, get_headers())
400
+ Components::Promocode.create(JSON.parse(response.body))
401
+ end
404
402
 
405
- # Create a new promocode for an event
406
- # @param [Integer] event_id - id of event to be associated with the promocode
407
- # @param [Promocode] promocode - promocode to be created
408
- # @return [Promocode]
409
- def add_promocode(event_id, promocode)
410
- url = Util::Config.get('endpoints.base_url') +
411
- sprintf(Util::Config.get('endpoints.event_promocodes'), event_id)
412
- url = build_url(url)
413
- payload = promocode.to_json
414
- response = RestClient.post(url, payload, get_headers())
415
- Components::Promocode.create(JSON.parse(response.body))
416
- end
417
403
 
404
+ # Create a new promocode for an event
405
+ # @param [Integer] event_id - id of event to be associated with the promocode
406
+ # @param [Promocode] promocode - promocode to be created
407
+ # @return [Promocode]
408
+ def add_promocode(event_id, promocode)
409
+ url = Util::Config.get('endpoints.base_url') +
410
+ sprintf(Util::Config.get('endpoints.event_promocodes'), event_id)
411
+ url = build_url(url)
412
+ payload = promocode.to_json
413
+ response = RestClient.post(url, payload, get_headers())
414
+ Components::Promocode.create(JSON.parse(response.body))
415
+ end
418
416
 
419
- # Delete a specific promocode for an event
420
- # @param [Integer] event_id - id of event to delete a promocode for
421
- # @param [Integer] promocode_id - id of promocode to be deleted
422
- # @return [Boolean]
423
- def delete_promocode(event_id, promocode_id)
424
- url = Util::Config.get('endpoints.base_url') +
425
- sprintf(Util::Config.get('endpoints.event_promocode'), event_id, promocode_id)
426
- url = build_url(url)
427
- response = RestClient.delete(url, get_headers())
428
- response.code == 204
429
- end
430
417
 
418
+ # Delete a specific promocode for an event
419
+ # @param [Integer] event_id - id of event to delete a promocode for
420
+ # @param [Integer] promocode_id - id of promocode to be deleted
421
+ # @return [Boolean]
422
+ def delete_promocode(event_id, promocode_id)
423
+ url = Util::Config.get('endpoints.base_url') +
424
+ sprintf(Util::Config.get('endpoints.event_promocode'), event_id, promocode_id)
425
+ url = build_url(url)
426
+ response = RestClient.delete(url, get_headers())
427
+ response.code == 204
428
+ end
431
429
 
432
- # Update a specific promocode for an event
433
- # @param [Integer] event_id - id of event associated with the promocode
434
- # @param [Promocode] promocode - promocode to be updated
435
- # @return [Promocode]
436
- def update_promocode(event_id, promocode)
437
- url = Util::Config.get('endpoints.base_url') +
438
- sprintf(Util::Config.get('endpoints.event_promocode'), event_id, promocode.id)
439
- url = build_url(url)
440
- payload = promocode.to_json
441
- response = RestClient.put(url, payload, get_headers())
442
- Components::Promocode.create(JSON.parse(response.body))
443
- end
444
430
 
431
+ # Update a specific promocode for an event
432
+ # @param [Integer] event_id - id of event associated with the promocode
433
+ # @param [Promocode] promocode - promocode to be updated
434
+ # @return [Promocode]
435
+ def update_promocode(event_id, promocode)
436
+ url = Util::Config.get('endpoints.base_url') +
437
+ sprintf(Util::Config.get('endpoints.event_promocode'), event_id, promocode.id)
438
+ url = build_url(url)
439
+ payload = promocode.to_json
440
+ response = RestClient.put(url, payload, get_headers())
441
+ Components::Promocode.create(JSON.parse(response.body))
445
442
  end
443
+
446
444
  end
447
445
  end
448
446
  end