constantcontact-ruby 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/README.md +136 -0
  4. data/constantcontact-ruby.gemspec +31 -0
  5. data/lib/constantcontact/api.rb +1012 -0
  6. data/lib/constantcontact/auth/oauth2.rb +105 -0
  7. data/lib/constantcontact/auth/session_data_store.rb +69 -0
  8. data/lib/constantcontact/components/account/account_address.rb +26 -0
  9. data/lib/constantcontact/components/account/account_info.rb +38 -0
  10. data/lib/constantcontact/components/account/verified_email_address.rb +26 -0
  11. data/lib/constantcontact/components/activities/activity.rb +43 -0
  12. data/lib/constantcontact/components/activities/activity_error.rb +26 -0
  13. data/lib/constantcontact/components/activities/add_contacts.rb +127 -0
  14. data/lib/constantcontact/components/activities/add_contacts_import_data.rb +46 -0
  15. data/lib/constantcontact/components/activities/export_contacts.rb +30 -0
  16. data/lib/constantcontact/components/component.rb +48 -0
  17. data/lib/constantcontact/components/contacts/address.rb +27 -0
  18. data/lib/constantcontact/components/contacts/contact.rb +92 -0
  19. data/lib/constantcontact/components/contacts/contact_list.rb +26 -0
  20. data/lib/constantcontact/components/contacts/custom_field.rb +26 -0
  21. data/lib/constantcontact/components/contacts/email_address.rb +33 -0
  22. data/lib/constantcontact/components/contacts/note.rb +26 -0
  23. data/lib/constantcontact/components/email_marketing/campaign.rb +83 -0
  24. data/lib/constantcontact/components/email_marketing/campaign_preview.rb +29 -0
  25. data/lib/constantcontact/components/email_marketing/click_through_details.rb +27 -0
  26. data/lib/constantcontact/components/email_marketing/message_footer.rb +29 -0
  27. data/lib/constantcontact/components/email_marketing/schedule.rb +27 -0
  28. data/lib/constantcontact/components/email_marketing/test_send.rb +45 -0
  29. data/lib/constantcontact/components/event_spot/contact.rb +27 -0
  30. data/lib/constantcontact/components/event_spot/event.rb +69 -0
  31. data/lib/constantcontact/components/event_spot/event_address.rb +29 -0
  32. data/lib/constantcontact/components/event_spot/event_fee.rb +27 -0
  33. data/lib/constantcontact/components/event_spot/event_item.rb +36 -0
  34. data/lib/constantcontact/components/event_spot/event_item_attribute.rb +26 -0
  35. data/lib/constantcontact/components/event_spot/event_track.rb +31 -0
  36. data/lib/constantcontact/components/event_spot/guest.rb +31 -0
  37. data/lib/constantcontact/components/event_spot/guest_section.rb +34 -0
  38. data/lib/constantcontact/components/event_spot/notification_option.rb +27 -0
  39. data/lib/constantcontact/components/event_spot/online_meeting.rb +28 -0
  40. data/lib/constantcontact/components/event_spot/payment_address.rb +29 -0
  41. data/lib/constantcontact/components/event_spot/payment_summary.rb +33 -0
  42. data/lib/constantcontact/components/event_spot/promocode.rb +25 -0
  43. data/lib/constantcontact/components/event_spot/registrant.rb +52 -0
  44. data/lib/constantcontact/components/event_spot/registrant_fee.rb +29 -0
  45. data/lib/constantcontact/components/event_spot/registrant_field.rb +27 -0
  46. data/lib/constantcontact/components/event_spot/registrant_order.rb +39 -0
  47. data/lib/constantcontact/components/event_spot/registrant_promo_code.rb +31 -0
  48. data/lib/constantcontact/components/event_spot/registrant_promo_code_info.rb +27 -0
  49. data/lib/constantcontact/components/event_spot/registrant_section.rb +34 -0
  50. data/lib/constantcontact/components/event_spot/sale_item.rb +29 -0
  51. data/lib/constantcontact/components/library/file/library_file.rb +27 -0
  52. data/lib/constantcontact/components/library/folder/library_folder.rb +26 -0
  53. data/lib/constantcontact/components/library/info/library_summary.rb +26 -0
  54. data/lib/constantcontact/components/library/info/move_results.rb +26 -0
  55. data/lib/constantcontact/components/library/info/upload_status.rb +26 -0
  56. data/lib/constantcontact/components/result_set.rb +50 -0
  57. data/lib/constantcontact/components/tracking/bounce_activity.rb +28 -0
  58. data/lib/constantcontact/components/tracking/click_activity.rb +26 -0
  59. data/lib/constantcontact/components/tracking/forward_activity.rb +26 -0
  60. data/lib/constantcontact/components/tracking/open_activity.rb +26 -0
  61. data/lib/constantcontact/components/tracking/send_activity.rb +27 -0
  62. data/lib/constantcontact/components/tracking/tracking_activity.rb +26 -0
  63. data/lib/constantcontact/components/tracking/tracking_summary.rb +27 -0
  64. data/lib/constantcontact/components/tracking/unsubscribe_activity.rb +27 -0
  65. data/lib/constantcontact/exceptions/ctct_exception.rb +25 -0
  66. data/lib/constantcontact/exceptions/illegal_argument_exception.rb +11 -0
  67. data/lib/constantcontact/exceptions/oauth2_exception.rb +11 -0
  68. data/lib/constantcontact/exceptions/webhooks_exception.rb +11 -0
  69. data/lib/constantcontact/services/account_service.rb +39 -0
  70. data/lib/constantcontact/services/activity_service.rb +136 -0
  71. data/lib/constantcontact/services/base_service.rb +68 -0
  72. data/lib/constantcontact/services/campaign_schedule_service.rb +101 -0
  73. data/lib/constantcontact/services/campaign_tracking_service.rb +152 -0
  74. data/lib/constantcontact/services/contact_service.rb +105 -0
  75. data/lib/constantcontact/services/contact_tracking_service.rb +152 -0
  76. data/lib/constantcontact/services/email_marketing_service.rb +94 -0
  77. data/lib/constantcontact/services/event_spot_service.rb +448 -0
  78. data/lib/constantcontact/services/library_service.rb +281 -0
  79. data/lib/constantcontact/services/list_service.rb +81 -0
  80. data/lib/constantcontact/util/config.rb +180 -0
  81. data/lib/constantcontact/util/helpers.rb +27 -0
  82. data/lib/constantcontact/version.rb +12 -0
  83. data/lib/constantcontact/webhooks/helpers/validator.rb +30 -0
  84. data/lib/constantcontact/webhooks/models/billing_change_notification.rb +27 -0
  85. data/lib/constantcontact/webhooks/webhooks_util.rb +45 -0
  86. data/lib/constantcontact.rb +124 -0
  87. data/spec/constantcontact/api_spec.rb +1560 -0
  88. data/spec/constantcontact/auth/oauth2_spec.rb +125 -0
  89. data/spec/constantcontact/components/contacts/address_spec.rb +18 -0
  90. data/spec/constantcontact/components/contacts/contact_list_spec.rb +18 -0
  91. data/spec/constantcontact/components/contacts/contact_spec.rb +18 -0
  92. data/spec/constantcontact/components/contacts/custom_field_spec.rb +18 -0
  93. data/spec/constantcontact/components/contacts/email_address_spec.rb +18 -0
  94. data/spec/constantcontact/sdk_spec.rb +24 -0
  95. data/spec/constantcontact/services/account_service_spec.rb +46 -0
  96. data/spec/constantcontact/services/activity_service_spec.rb +244 -0
  97. data/spec/constantcontact/services/base_service_spec.rb +50 -0
  98. data/spec/constantcontact/services/campaign_schedule_service_spec.rb +115 -0
  99. data/spec/constantcontact/services/campaign_tracking_service_spec.rb +131 -0
  100. data/spec/constantcontact/services/contact_service_spec.rb +111 -0
  101. data/spec/constantcontact/services/contact_tracking_service_spec.rb +131 -0
  102. data/spec/constantcontact/services/email_marketing_spec.rb +100 -0
  103. data/spec/constantcontact/services/event_spot_spec.rb +423 -0
  104. data/spec/constantcontact/services/library_service_spec.rb +252 -0
  105. data/spec/constantcontact/services/list_service_spec.rb +89 -0
  106. data/spec/constantcontact/webhooks/webhooks_spec.rb +26 -0
  107. metadata +243 -0
@@ -0,0 +1,89 @@
1
+ #
2
+ # list_service_spec.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ require 'spec_helper'
8
+
9
+ describe ConstantContact::Services::ListService do
10
+ before(:each) do
11
+ @request = double('http request', :user => nil, :password => nil, :url => 'http://example.com', :redirection_history => nil)
12
+ end
13
+
14
+ describe "#get_lists" do
15
+ it "returns an array of lists" do
16
+ json_response = load_file('lists_response.json')
17
+ net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
18
+
19
+ response = RestClient::Response.create(json_response, net_http_resp, {}, @request)
20
+ RestClient.stub(:get).and_return(response)
21
+
22
+ lists = ConstantContact::Services::ListService.get_lists()
23
+ lists.should be_kind_of(Array)
24
+ lists.first.should be_kind_of(ConstantContact::Components::ContactList)
25
+ lists.first.name.should eq('General Interest')
26
+ end
27
+ end
28
+
29
+ describe "#get_list" do
30
+ it "returns a list" do
31
+ json = load_file('list_response.json')
32
+ net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
33
+
34
+ response = RestClient::Response.create(json, net_http_resp, {}, @request)
35
+ RestClient.stub(:get).and_return(response)
36
+
37
+ list = ConstantContact::Services::ListService.get_list(1)
38
+ list.should be_kind_of(ConstantContact::Components::ContactList)
39
+ list.name.should eq('Monthly Specials')
40
+ end
41
+ end
42
+
43
+ describe "#add_list" do
44
+ it "adds a list" do
45
+ json = load_file('list_response.json')
46
+ net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
47
+
48
+ response = RestClient::Response.create(json, net_http_resp, {}, @request)
49
+ RestClient.stub(:post).and_return(response)
50
+ new_list = ConstantContact::Components::ContactList.create(JSON.parse(json))
51
+
52
+ list = ConstantContact::Services::ListService.add_list(new_list)
53
+ list.should be_kind_of(ConstantContact::Components::ContactList)
54
+ list.status.should eq('ACTIVE')
55
+ end
56
+ end
57
+
58
+ describe "#update_list" do
59
+ it "updates a list" do
60
+ json = load_file('list_response.json')
61
+ net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
62
+
63
+ response = RestClient::Response.create(json, net_http_resp, {}, @request)
64
+ RestClient.stub(:put).and_return(response)
65
+ list = ConstantContact::Components::ContactList.create(JSON.parse(json))
66
+
67
+ result = ConstantContact::Services::ListService.update_list(list)
68
+ result.should be_kind_of(ConstantContact::Components::ContactList)
69
+ result.status.should eq('ACTIVE')
70
+ end
71
+ end
72
+
73
+ describe "#get_contacts_from_list" do
74
+ it "returns an array of contacts" do
75
+ json_list = load_file('list_response.json')
76
+ json_contacts = load_file('contacts_response.json')
77
+ net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
78
+
79
+ response = RestClient::Response.create(json_contacts, net_http_resp, {}, @request)
80
+ RestClient.stub(:get).and_return(response)
81
+ list = ConstantContact::Components::ContactList.create(JSON.parse(json_list))
82
+
83
+ contacts = ConstantContact::Services::ListService.get_contacts_from_list(list)
84
+ contacts.should be_kind_of(ConstantContact::Components::ResultSet)
85
+ contacts.results.first.should be_kind_of(ConstantContact::Components::Contact)
86
+ contacts.results.first.fax.should eq('318-978-7575')
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,26 @@
1
+ #
2
+ # webhooks_spec.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ require 'spec_helper'
8
+
9
+ describe ConstantContact::Webhooks do
10
+ describe "test methods" do
11
+ before(:each) do
12
+ @webhooks = ConstantContact::WebhooksUtil.new('api-secret-key')
13
+ end
14
+
15
+ describe "#billing_change_notification" do
16
+ it "gets the BillingChangeNotification model object" do
17
+ hmac_header = 'VNfTwVDbHBoPqEYqDdM61OqxJdVznRzT4h21+BuwgTg='
18
+ json_body = load_file('billing_change_notification_request.json')
19
+
20
+ model = @webhooks.get_billing_change_notification(hmac_header, json_body)
21
+ model.should be_kind_of(ConstantContact::Webhooks::Models::BillingChangeNotification)
22
+ model.event_type.should eq('tier.increase')
23
+ end
24
+ end
25
+ end
26
+ end
metadata ADDED
@@ -0,0 +1,243 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: constantcontact-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.2.0
5
+ platform: ruby
6
+ authors:
7
+ - ConstantContact
8
+ - ConferenceCloud
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2016-03-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rest-client
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.6'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.6.7
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '1.6'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.6.7
34
+ - !ruby/object:Gem::Dependency
35
+ name: json
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.8.1
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '1.8'
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.8.1
54
+ - !ruby/object:Gem::Dependency
55
+ name: mime-types
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.4'
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 2.4.1
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '2.4'
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 2.4.1
74
+ - !ruby/object:Gem::Dependency
75
+ name: rspec
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '2.14'
81
+ type: :development
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.14'
88
+ description: Ruby library for interactions with Constant Contact v2 API
89
+ email: webservices@constantcontact.com
90
+ executables: []
91
+ extensions: []
92
+ extra_rdoc_files: []
93
+ files:
94
+ - ".rspec"
95
+ - README.md
96
+ - constantcontact-ruby.gemspec
97
+ - lib/constantcontact.rb
98
+ - lib/constantcontact/api.rb
99
+ - lib/constantcontact/auth/oauth2.rb
100
+ - lib/constantcontact/auth/session_data_store.rb
101
+ - lib/constantcontact/components/account/account_address.rb
102
+ - lib/constantcontact/components/account/account_info.rb
103
+ - lib/constantcontact/components/account/verified_email_address.rb
104
+ - lib/constantcontact/components/activities/activity.rb
105
+ - lib/constantcontact/components/activities/activity_error.rb
106
+ - lib/constantcontact/components/activities/add_contacts.rb
107
+ - lib/constantcontact/components/activities/add_contacts_import_data.rb
108
+ - lib/constantcontact/components/activities/export_contacts.rb
109
+ - lib/constantcontact/components/component.rb
110
+ - lib/constantcontact/components/contacts/address.rb
111
+ - lib/constantcontact/components/contacts/contact.rb
112
+ - lib/constantcontact/components/contacts/contact_list.rb
113
+ - lib/constantcontact/components/contacts/custom_field.rb
114
+ - lib/constantcontact/components/contacts/email_address.rb
115
+ - lib/constantcontact/components/contacts/note.rb
116
+ - lib/constantcontact/components/email_marketing/campaign.rb
117
+ - lib/constantcontact/components/email_marketing/campaign_preview.rb
118
+ - lib/constantcontact/components/email_marketing/click_through_details.rb
119
+ - lib/constantcontact/components/email_marketing/message_footer.rb
120
+ - lib/constantcontact/components/email_marketing/schedule.rb
121
+ - lib/constantcontact/components/email_marketing/test_send.rb
122
+ - lib/constantcontact/components/event_spot/contact.rb
123
+ - lib/constantcontact/components/event_spot/event.rb
124
+ - lib/constantcontact/components/event_spot/event_address.rb
125
+ - lib/constantcontact/components/event_spot/event_fee.rb
126
+ - lib/constantcontact/components/event_spot/event_item.rb
127
+ - lib/constantcontact/components/event_spot/event_item_attribute.rb
128
+ - lib/constantcontact/components/event_spot/event_track.rb
129
+ - lib/constantcontact/components/event_spot/guest.rb
130
+ - lib/constantcontact/components/event_spot/guest_section.rb
131
+ - lib/constantcontact/components/event_spot/notification_option.rb
132
+ - lib/constantcontact/components/event_spot/online_meeting.rb
133
+ - lib/constantcontact/components/event_spot/payment_address.rb
134
+ - lib/constantcontact/components/event_spot/payment_summary.rb
135
+ - lib/constantcontact/components/event_spot/promocode.rb
136
+ - lib/constantcontact/components/event_spot/registrant.rb
137
+ - lib/constantcontact/components/event_spot/registrant_fee.rb
138
+ - lib/constantcontact/components/event_spot/registrant_field.rb
139
+ - lib/constantcontact/components/event_spot/registrant_order.rb
140
+ - lib/constantcontact/components/event_spot/registrant_promo_code.rb
141
+ - lib/constantcontact/components/event_spot/registrant_promo_code_info.rb
142
+ - lib/constantcontact/components/event_spot/registrant_section.rb
143
+ - lib/constantcontact/components/event_spot/sale_item.rb
144
+ - lib/constantcontact/components/library/file/library_file.rb
145
+ - lib/constantcontact/components/library/folder/library_folder.rb
146
+ - lib/constantcontact/components/library/info/library_summary.rb
147
+ - lib/constantcontact/components/library/info/move_results.rb
148
+ - lib/constantcontact/components/library/info/upload_status.rb
149
+ - lib/constantcontact/components/result_set.rb
150
+ - lib/constantcontact/components/tracking/bounce_activity.rb
151
+ - lib/constantcontact/components/tracking/click_activity.rb
152
+ - lib/constantcontact/components/tracking/forward_activity.rb
153
+ - lib/constantcontact/components/tracking/open_activity.rb
154
+ - lib/constantcontact/components/tracking/send_activity.rb
155
+ - lib/constantcontact/components/tracking/tracking_activity.rb
156
+ - lib/constantcontact/components/tracking/tracking_summary.rb
157
+ - lib/constantcontact/components/tracking/unsubscribe_activity.rb
158
+ - lib/constantcontact/exceptions/ctct_exception.rb
159
+ - lib/constantcontact/exceptions/illegal_argument_exception.rb
160
+ - lib/constantcontact/exceptions/oauth2_exception.rb
161
+ - lib/constantcontact/exceptions/webhooks_exception.rb
162
+ - lib/constantcontact/services/account_service.rb
163
+ - lib/constantcontact/services/activity_service.rb
164
+ - lib/constantcontact/services/base_service.rb
165
+ - lib/constantcontact/services/campaign_schedule_service.rb
166
+ - lib/constantcontact/services/campaign_tracking_service.rb
167
+ - lib/constantcontact/services/contact_service.rb
168
+ - lib/constantcontact/services/contact_tracking_service.rb
169
+ - lib/constantcontact/services/email_marketing_service.rb
170
+ - lib/constantcontact/services/event_spot_service.rb
171
+ - lib/constantcontact/services/library_service.rb
172
+ - lib/constantcontact/services/list_service.rb
173
+ - lib/constantcontact/util/config.rb
174
+ - lib/constantcontact/util/helpers.rb
175
+ - lib/constantcontact/version.rb
176
+ - lib/constantcontact/webhooks/helpers/validator.rb
177
+ - lib/constantcontact/webhooks/models/billing_change_notification.rb
178
+ - lib/constantcontact/webhooks/webhooks_util.rb
179
+ - spec/constantcontact/api_spec.rb
180
+ - spec/constantcontact/auth/oauth2_spec.rb
181
+ - spec/constantcontact/components/contacts/address_spec.rb
182
+ - spec/constantcontact/components/contacts/contact_list_spec.rb
183
+ - spec/constantcontact/components/contacts/contact_spec.rb
184
+ - spec/constantcontact/components/contacts/custom_field_spec.rb
185
+ - spec/constantcontact/components/contacts/email_address_spec.rb
186
+ - spec/constantcontact/sdk_spec.rb
187
+ - spec/constantcontact/services/account_service_spec.rb
188
+ - spec/constantcontact/services/activity_service_spec.rb
189
+ - spec/constantcontact/services/base_service_spec.rb
190
+ - spec/constantcontact/services/campaign_schedule_service_spec.rb
191
+ - spec/constantcontact/services/campaign_tracking_service_spec.rb
192
+ - spec/constantcontact/services/contact_service_spec.rb
193
+ - spec/constantcontact/services/contact_tracking_service_spec.rb
194
+ - spec/constantcontact/services/email_marketing_spec.rb
195
+ - spec/constantcontact/services/event_spot_spec.rb
196
+ - spec/constantcontact/services/library_service_spec.rb
197
+ - spec/constantcontact/services/list_service_spec.rb
198
+ - spec/constantcontact/webhooks/webhooks_spec.rb
199
+ homepage: http://www.constantcontact.com
200
+ licenses:
201
+ - MIT
202
+ metadata: {}
203
+ post_install_message:
204
+ rdoc_options: []
205
+ require_paths:
206
+ - lib
207
+ required_ruby_version: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: '0'
212
+ required_rubygems_version: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ requirements: []
218
+ rubyforge_project:
219
+ rubygems_version: 2.4.5
220
+ signing_key:
221
+ specification_version: 4
222
+ summary: Constant Contact SDK for Ruby
223
+ test_files:
224
+ - spec/constantcontact/api_spec.rb
225
+ - spec/constantcontact/components/contacts/contact_spec.rb
226
+ - spec/constantcontact/components/contacts/custom_field_spec.rb
227
+ - spec/constantcontact/components/contacts/contact_list_spec.rb
228
+ - spec/constantcontact/components/contacts/email_address_spec.rb
229
+ - spec/constantcontact/components/contacts/address_spec.rb
230
+ - spec/constantcontact/auth/oauth2_spec.rb
231
+ - spec/constantcontact/webhooks/webhooks_spec.rb
232
+ - spec/constantcontact/sdk_spec.rb
233
+ - spec/constantcontact/services/contact_tracking_service_spec.rb
234
+ - spec/constantcontact/services/campaign_schedule_service_spec.rb
235
+ - spec/constantcontact/services/email_marketing_spec.rb
236
+ - spec/constantcontact/services/list_service_spec.rb
237
+ - spec/constantcontact/services/library_service_spec.rb
238
+ - spec/constantcontact/services/base_service_spec.rb
239
+ - spec/constantcontact/services/activity_service_spec.rb
240
+ - spec/constantcontact/services/campaign_tracking_service_spec.rb
241
+ - spec/constantcontact/services/event_spot_spec.rb
242
+ - spec/constantcontact/services/account_service_spec.rb
243
+ - spec/constantcontact/services/contact_service_spec.rb