action_kit_rest 0.2.2 → 0.3.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 (38) hide show
  1. checksums.yaml +5 -13
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +1 -1
  4. data/Gemfile +2 -3
  5. data/Gemfile.lock +78 -84
  6. data/README.md +53 -1
  7. data/Rakefile +8 -8
  8. data/VERSION +1 -1
  9. data/action_kit_rest.gemspec +65 -53
  10. data/lib/action_kit_rest.rb +10 -0
  11. data/lib/action_kit_rest/actions/event_create_action.rb +9 -0
  12. data/lib/action_kit_rest/actions/event_signup_action.rb +9 -0
  13. data/lib/action_kit_rest/actions/unsubscribe_action.rb +9 -0
  14. data/lib/action_kit_rest/api.rb +3 -4
  15. data/lib/action_kit_rest/client.rb +16 -21
  16. data/lib/action_kit_rest/event.rb +12 -0
  17. data/lib/action_kit_rest/event_signup.rb +7 -0
  18. data/lib/action_kit_rest/language.rb +12 -0
  19. data/lib/action_kit_rest/pages/donation_page.rb +9 -0
  20. data/lib/action_kit_rest/pages/event_campaign_page.rb +54 -0
  21. data/lib/action_kit_rest/pages/unsubscribe_page.rb +9 -0
  22. data/lib/action_kit_rest/phone.rb +7 -0
  23. data/lib/action_kit_rest/response/raise_error.rb +15 -2
  24. data/lib/action_kit_rest/user.rb +13 -0
  25. data/lib/action_kit_rest/version.rb +3 -3
  26. data/spec/fixtures/page/campaign.json +32 -0
  27. data/spec/fixtures/phone/object.json +33 -0
  28. data/spec/fixtures/user/{object.json → object_with_phones.json} +0 -0
  29. data/spec/fixtures/user/object_without_phones.json +1 -0
  30. data/spec/{action_kit_rest → lib/action_kit_rest}/logger_spec.rb +0 -0
  31. data/spec/{action_kit_rest → lib/action_kit_rest}/page_spec.rb +10 -2
  32. data/spec/lib/action_kit_rest/pages/event_campaign_page_spec.rb +48 -0
  33. data/spec/{action_kit_rest/pages/input_page_spec.rb → lib/action_kit_rest/pages/import_page_spec.rb} +6 -12
  34. data/spec/{action_kit_rest → lib/action_kit_rest}/response/collection_spec.rb +0 -0
  35. data/spec/{action_kit_rest → lib/action_kit_rest}/response/wrapper_spec.rb +0 -0
  36. data/spec/{action_kit_rest → lib/action_kit_rest}/user_spec.rb +17 -3
  37. data/spec/support/shared_contexts/stub_logger.rb +9 -0
  38. metadata +57 -54
@@ -1,13 +1,8 @@
1
1
  require 'spec_helper'
2
+ require 'support/shared_contexts/stub_logger'
2
3
 
3
4
  describe ActionKitRest::Pages::ImportPage do
4
- before(:each) do
5
- logger = double
6
- logger.stub(:debug).and_return(true)
7
-
8
- ActionKitRest.stub(:logger).and_return(logger)
9
- Vertebrae::Base.stub(:logger).and_return(logger)
10
- end
5
+ include_context "stub_logger"
11
6
 
12
7
  let(:actionkit) { ActionKitRest.new(host: 'test.com') }
13
8
  let(:status) { 200 }
@@ -21,14 +16,13 @@ describe ActionKitRest::Pages::ImportPage do
21
16
  stub_post(request_path).with(body: request_body).to_return(:body => body, :status => status,
22
17
  :headers => {location: 'https://test.com/rest/v1/importpage/1093/', content_type: "application/json; charset=utf-8"})
23
18
 
24
- stub_request(:get, "https://test.com/rest/v1/importpage/1093/").to_return(body: fixture('page/object.json'), status: '200', content_type: "application/json; charset=utf-8")
19
+ stub_request(:get, "https://test.com/rest/v1/importpage/1093/").to_return(body: fixture('page/object.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
25
20
  end
26
21
 
27
22
  describe ".create" do
28
23
  it "should allow creation" do
29
24
  resp = actionkit.import_page.create(title: "Title", name: "name")
30
- resp.title.should == 'Demand a Sustainable USDA'
31
-
25
+ expect(resp.title).to eq 'Demand a Sustainable USDA'
32
26
  end
33
27
  end
34
28
  end
@@ -42,13 +36,13 @@ describe ActionKitRest::Pages::ImportPage do
42
36
  stub_put(request_path).with(body: request_body).to_return(:body => body, :status => status,
43
37
  :headers => { content_type: "application/json; charset=utf-8"})
44
38
 
45
- stub_request(:get, "https://test.com/rest/v1/importpage/1093/").to_return(body: fixture('page/object.json'), status: '200', content_type: "application/json; charset=utf-8")
39
+ stub_request(:get, "https://test.com/rest/v1/importpage/1093/").to_return(body: fixture('page/object.json'), status: '200', headers: {content_type: "application/json; charset=utf-8"})
46
40
  end
47
41
 
48
42
  describe '.update' do
49
43
  it 'should allow updates' do
50
44
  resp = actionkit.import_page.update('1093', title: "Title", name: "name")
51
- resp.title.should == 'Demand a Sustainable USDA'
45
+ expect(resp.title).to eq 'Demand a Sustainable USDA'
52
46
  end
53
47
  end
54
48
  end
@@ -21,11 +21,25 @@ describe ActionKitRest::User do
21
21
  end
22
22
 
23
23
  describe ".get" do
24
- let(:body) { fixture('user/object.json') }
25
24
  let(:status) { 200 }
26
25
 
27
- it 'should return a user object' do
28
- @actionkit.user.get(1).email.should == 'walkers@wawd.com'
26
+ context 'without phones' do
27
+ let(:body) { fixture('user/object_without_phones.json') }
28
+
29
+ it 'should return a user object' do
30
+ expect(@actionkit.user.get(1).email).to eq 'walkers@wawd.com'
31
+ end
32
+ end
33
+
34
+ context 'with phones' do
35
+ let(:body) { fixture('user/object_with_phones.json') }
36
+ let(:phone_body) { fixture('phone/object.json') }
37
+
38
+ it 'should include phones' do
39
+ stub_get('phone/?user=1').to_return(:body => phone_body, :status => 200)
40
+ expect(@actionkit.user.get(1).phones.count).to eq 3
41
+ expect(@actionkit.user.get(1).phones.map(&:phone)).to match_array(['7755555555', '7755555577', '310-310-3310'])
42
+ end
29
43
  end
30
44
  end
31
45
 
@@ -0,0 +1,9 @@
1
+ shared_context "stub_logger" do
2
+ before(:each) do
3
+ logger = double
4
+ allow(logger).to receive(:debug).and_return(true)
5
+
6
+ allow(ActionKitRest).to receive(:logger).and_return(logger)
7
+ allow(Vertebrae::Base).to receive(:logger).and_return(logger)
8
+ end
9
+ end
metadata CHANGED
@@ -1,168 +1,156 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_kit_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Woodhull
8
+ - Diego Marcet
9
+ - Jacinda Moore
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2014-08-04 00:00:00.000000000 Z
13
+ date: 2017-08-15 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: vertebrae
15
17
  requirement: !ruby/object:Gem::Requirement
16
18
  requirements:
17
- - - ! '>='
19
+ - - ">="
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - ! '>='
26
+ - - ">="
25
27
  - !ruby/object:Gem::Version
26
28
  version: '0'
27
29
  - !ruby/object:Gem::Dependency
28
30
  name: rspec
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
- - - ! '>='
33
+ - - ">="
32
34
  - !ruby/object:Gem::Version
33
35
  version: '0'
34
36
  type: :development
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - ! '>='
40
+ - - ">="
39
41
  - !ruby/object:Gem::Version
40
42
  version: '0'
41
43
  - !ruby/object:Gem::Dependency
42
44
  name: webmock
43
45
  requirement: !ruby/object:Gem::Requirement
44
46
  requirements:
45
- - - ! '>='
47
+ - - ">="
46
48
  - !ruby/object:Gem::Version
47
49
  version: '0'
48
50
  type: :development
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
- - - ! '>='
54
+ - - ">="
53
55
  - !ruby/object:Gem::Version
54
56
  version: '0'
55
57
  - !ruby/object:Gem::Dependency
56
- name: pry
58
+ name: byebug
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
- - - ! '>='
61
+ - - ">="
60
62
  - !ruby/object:Gem::Version
61
63
  version: '0'
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: pry-debugger
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ! '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ! '>='
68
+ - - ">="
81
69
  - !ruby/object:Gem::Version
82
70
  version: '0'
83
71
  - !ruby/object:Gem::Dependency
84
72
  name: bundler
85
73
  requirement: !ruby/object:Gem::Requirement
86
74
  requirements:
87
- - - ! '>='
75
+ - - ">="
88
76
  - !ruby/object:Gem::Version
89
77
  version: '0'
90
78
  type: :development
91
79
  prerelease: false
92
80
  version_requirements: !ruby/object:Gem::Requirement
93
81
  requirements:
94
- - - ! '>='
82
+ - - ">="
95
83
  - !ruby/object:Gem::Version
96
84
  version: '0'
97
85
  - !ruby/object:Gem::Dependency
98
86
  name: eventmachine
99
87
  requirement: !ruby/object:Gem::Requirement
100
88
  requirements:
101
- - - ! '>='
89
+ - - ">="
102
90
  - !ruby/object:Gem::Version
103
91
  version: '0'
104
92
  type: :development
105
93
  prerelease: false
106
94
  version_requirements: !ruby/object:Gem::Requirement
107
95
  requirements:
108
- - - ! '>='
96
+ - - ">="
109
97
  - !ruby/object:Gem::Version
110
98
  version: '0'
111
99
  - !ruby/object:Gem::Dependency
112
100
  name: em-synchrony
113
101
  requirement: !ruby/object:Gem::Requirement
114
102
  requirements:
115
- - - ! '>='
103
+ - - ">="
116
104
  - !ruby/object:Gem::Version
117
105
  version: '0'
118
106
  type: :development
119
107
  prerelease: false
120
108
  version_requirements: !ruby/object:Gem::Requirement
121
109
  requirements:
122
- - - ! '>='
110
+ - - ">="
123
111
  - !ruby/object:Gem::Version
124
112
  version: '0'
125
113
  - !ruby/object:Gem::Dependency
126
114
  name: em-http-request
127
115
  requirement: !ruby/object:Gem::Requirement
128
116
  requirements:
129
- - - ! '>='
117
+ - - ">="
130
118
  - !ruby/object:Gem::Version
131
119
  version: '0'
132
120
  type: :development
133
121
  prerelease: false
134
122
  version_requirements: !ruby/object:Gem::Requirement
135
123
  requirements:
136
- - - ! '>='
124
+ - - ">="
137
125
  - !ruby/object:Gem::Version
138
126
  version: '0'
139
127
  - !ruby/object:Gem::Dependency
140
- name: jeweler
128
+ name: juwelier
141
129
  requirement: !ruby/object:Gem::Requirement
142
130
  requirements:
143
- - - ~>
131
+ - - ">="
144
132
  - !ruby/object:Gem::Version
145
- version: 2.0.0
133
+ version: '0'
146
134
  type: :development
147
135
  prerelease: false
148
136
  version_requirements: !ruby/object:Gem::Requirement
149
137
  requirements:
150
- - - ~>
138
+ - - ">="
151
139
  - !ruby/object:Gem::Version
152
- version: 2.0.0
140
+ version: '0'
153
141
  description: Gem for interacting with the ActionKit API
154
- email: nathan@controlshiftlabs.com
142
+ email: systems@controlshiftlabs.com
155
143
  executables: []
156
144
  extensions: []
157
145
  extra_rdoc_files:
158
146
  - LICENSE.txt
159
147
  - README.md
160
148
  files:
161
- - .document
162
- - .rspec
163
- - .ruby-gemset
164
- - .ruby-version
165
- - .travis.yml
149
+ - ".document"
150
+ - ".rspec"
151
+ - ".ruby-gemset"
152
+ - ".ruby-version"
153
+ - ".travis.yml"
166
154
  - Gemfile
167
155
  - Gemfile.lock
168
156
  - LICENSE.txt
@@ -172,14 +160,24 @@ files:
172
160
  - action_kit_rest.gemspec
173
161
  - lib/action_kit_rest.rb
174
162
  - lib/action_kit_rest/action.rb
163
+ - lib/action_kit_rest/actions/event_create_action.rb
164
+ - lib/action_kit_rest/actions/event_signup_action.rb
165
+ - lib/action_kit_rest/actions/unsubscribe_action.rb
175
166
  - lib/action_kit_rest/api.rb
176
167
  - lib/action_kit_rest/base.rb
177
168
  - lib/action_kit_rest/client.rb
169
+ - lib/action_kit_rest/event.rb
170
+ - lib/action_kit_rest/event_signup.rb
171
+ - lib/action_kit_rest/language.rb
178
172
  - lib/action_kit_rest/list.rb
179
173
  - lib/action_kit_rest/page.rb
180
174
  - lib/action_kit_rest/pages/base.rb
175
+ - lib/action_kit_rest/pages/donation_page.rb
176
+ - lib/action_kit_rest/pages/event_campaign_page.rb
181
177
  - lib/action_kit_rest/pages/import_page.rb
182
178
  - lib/action_kit_rest/pages/signup_page.rb
179
+ - lib/action_kit_rest/pages/unsubscribe_page.rb
180
+ - lib/action_kit_rest/phone.rb
183
181
  - lib/action_kit_rest/railties.rb
184
182
  - lib/action_kit_rest/response/collection.rb
185
183
  - lib/action_kit_rest/response/raise_error.rb
@@ -188,17 +186,22 @@ files:
188
186
  - lib/action_kit_rest/tag.rb
189
187
  - lib/action_kit_rest/user.rb
190
188
  - lib/action_kit_rest/version.rb
191
- - spec/action_kit_rest/logger_spec.rb
192
- - spec/action_kit_rest/page_spec.rb
193
- - spec/action_kit_rest/pages/input_page_spec.rb
194
- - spec/action_kit_rest/response/collection_spec.rb
195
- - spec/action_kit_rest/response/wrapper_spec.rb
196
- - spec/action_kit_rest/user_spec.rb
197
189
  - spec/fixtures/error.json
190
+ - spec/fixtures/page/campaign.json
198
191
  - spec/fixtures/page/collection.json
199
192
  - spec/fixtures/page/object.json
200
- - spec/fixtures/user/object.json
193
+ - spec/fixtures/phone/object.json
194
+ - spec/fixtures/user/object_with_phones.json
195
+ - spec/fixtures/user/object_without_phones.json
196
+ - spec/lib/action_kit_rest/logger_spec.rb
197
+ - spec/lib/action_kit_rest/page_spec.rb
198
+ - spec/lib/action_kit_rest/pages/event_campaign_page_spec.rb
199
+ - spec/lib/action_kit_rest/pages/import_page_spec.rb
200
+ - spec/lib/action_kit_rest/response/collection_spec.rb
201
+ - spec/lib/action_kit_rest/response/wrapper_spec.rb
202
+ - spec/lib/action_kit_rest/user_spec.rb
201
203
  - spec/spec_helper.rb
204
+ - spec/support/shared_contexts/stub_logger.rb
202
205
  homepage: http://github.com/controlshift/action_kit_rest
203
206
  licenses:
204
207
  - MIT
@@ -209,17 +212,17 @@ require_paths:
209
212
  - lib
210
213
  required_ruby_version: !ruby/object:Gem::Requirement
211
214
  requirements:
212
- - - ! '>='
215
+ - - ">="
213
216
  - !ruby/object:Gem::Version
214
217
  version: '0'
215
218
  required_rubygems_version: !ruby/object:Gem::Requirement
216
219
  requirements:
217
- - - ! '>='
220
+ - - ">="
218
221
  - !ruby/object:Gem::Version
219
222
  version: '0'
220
223
  requirements: []
221
224
  rubyforge_project:
222
- rubygems_version: 2.1.11
225
+ rubygems_version: 2.5.2
223
226
  signing_key:
224
227
  specification_version: 4
225
228
  summary: A wrapper for the ActionKit REST API