poptart 0.0.13 → 0.0.14

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/lib/poptart.rb +1 -4
  4. data/lib/poptart/link.rb +9 -0
  5. data/lib/poptart/model.rb +13 -29
  6. data/lib/poptart/question.rb +21 -17
  7. data/lib/poptart/root.rb +10 -1
  8. data/lib/poptart/survey.rb +34 -7
  9. data/lib/poptart/survey_question.rb +32 -12
  10. data/lib/poptart/user.rb +4 -21
  11. data/lib/version.rb +1 -1
  12. data/poptart.gemspec +0 -4
  13. data/spec/lib/poptart/model_spec.rb +95 -0
  14. data/spec/lib/poptart/question_spec.rb +47 -0
  15. data/spec/lib/poptart/root_spec.rb +50 -0
  16. data/spec/lib/poptart/survey_question_spec.rb +166 -0
  17. data/spec/lib/poptart/survey_spec.rb +105 -0
  18. data/spec/lib/poptart/user_spec.rb +45 -0
  19. data/spec/requests/questions_spec.rb +31 -0
  20. data/spec/requests/survey_questions_spec.rb +150 -0
  21. data/spec/requests/surveys_spec.rb +34 -5
  22. data/spec/requests/{user_management_spec.rb → users_spec.rb} +5 -5
  23. data/spec/spec_helper.rb +1 -4
  24. data/spec/vcr/answering/survey_questions_answers_a_multiple_choice_question.yml +1527 -1596
  25. data/spec/vcr/answering/survey_questions_answers_a_survey_question.yml +2942 -2035
  26. data/spec/vcr/answering/survey_questions_creates_and_returns_a_random_question_survey.yml +254 -70
  27. data/spec/vcr/answering/survey_questions_creates_and_returns_an_empty_survey.yml +110 -48
  28. data/spec/vcr/answering/survey_questions_finds_survey_question_for_id.yml +1618 -286
  29. data/spec/vcr/poptart/survey/adds_a_question_to_a_survey.yml +1939 -0
  30. data/spec/vcr/poptart/survey/creates_a_random_survey.yml +318 -0
  31. data/spec/vcr/poptart/survey/creates_an_empty_survey.yml +702 -0
  32. data/spec/vcr/poptart/survey/returns_a_survey_by_id.yml +618 -0
  33. data/spec/vcr/poptart/user/creates_a_user.yml +179 -0
  34. data/spec/vcr/{user/management_creates_a_user.yml → poptart/user/returns_a_user.yml} +72 -69
  35. data/spec/vcr/questions/creates_a_question.yml +186 -0
  36. data/spec/vcr/questions/finds_a_question_by_id.yml +326 -0
  37. data/spec/vcr/questions/finds_a_question_by_key.yml +144 -0
  38. data/spec/vcr/questions/returns_all_answered_survey_questions_for_a_question.yml +1021 -0
  39. data/spec/vcr/retrieving/answers_returns_all_answered_survey_questions_for_a_question.yml +533 -479
  40. data/spec/vcr/survey/questions_answers_a_multiple_choice_question.yml +1454 -0
  41. data/spec/vcr/survey/questions_answers_a_survey_question.yml +1772 -0
  42. data/spec/vcr/survey/questions_creates_and_returns_an_empty_survey.yml +372 -0
  43. data/spec/vcr/survey/questions_finds_survey_question_for_id.yml +3083 -0
  44. data/spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_question.yml +5756 -0
  45. data/spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_question_by_key.yml +973 -0
  46. data/spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_survey.yml +620 -0
  47. metadata +55 -72
  48. data/lib/poptart/boolean_question.rb +0 -14
  49. data/lib/poptart/multiple_response_question.rb +0 -9
  50. data/lib/poptart/range_question.rb +0 -9
  51. data/lib/poptart/time_question.rb +0 -9
  52. data/spec/requests/answering_survey_questions_spec.rb +0 -79
  53. data/spec/requests/answers_spec.rb +0 -45
  54. data/spec/requests/creating_questions_spec.rb +0 -30
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poptart
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austen Ito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-26 00:00:00.000000000 Z
11
+ date: 2015-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,62 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: bourne
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 1.5.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
82
- version: 1.5.0
83
- - !ruby/object:Gem::Dependency
84
- name: guard
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: guard-rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: mocha
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 0.14.0
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: 0.14.0
125
69
  - !ruby/object:Gem::Dependency
126
70
  name: pry
127
71
  requirement: !ruby/object:Gem::Requirement
@@ -209,24 +153,26 @@ files:
209
153
  - Rakefile
210
154
  - lib/poptart.rb
211
155
  - lib/poptart/.DS_Store
212
- - lib/poptart/boolean_question.rb
156
+ - lib/poptart/link.rb
213
157
  - lib/poptart/model.rb
214
- - lib/poptart/multiple_response_question.rb
215
158
  - lib/poptart/question.rb
216
- - lib/poptart/range_question.rb
217
159
  - lib/poptart/request.rb
218
160
  - lib/poptart/root.rb
219
161
  - lib/poptart/survey.rb
220
162
  - lib/poptart/survey_question.rb
221
- - lib/poptart/time_question.rb
222
163
  - lib/poptart/user.rb
223
164
  - lib/version.rb
224
165
  - poptart.gemspec
225
- - spec/requests/answering_survey_questions_spec.rb
226
- - spec/requests/answers_spec.rb
227
- - spec/requests/creating_questions_spec.rb
166
+ - spec/lib/poptart/model_spec.rb
167
+ - spec/lib/poptart/question_spec.rb
168
+ - spec/lib/poptart/root_spec.rb
169
+ - spec/lib/poptart/survey_question_spec.rb
170
+ - spec/lib/poptart/survey_spec.rb
171
+ - spec/lib/poptart/user_spec.rb
172
+ - spec/requests/questions_spec.rb
173
+ - spec/requests/survey_questions_spec.rb
228
174
  - spec/requests/surveys_spec.rb
229
- - spec/requests/user_management_spec.rb
175
+ - spec/requests/users_spec.rb
230
176
  - spec/spec_helper.rb
231
177
  - spec/vcr/answering/survey_questions_answers_a_multiple_choice_question.yml
232
178
  - spec/vcr/answering/survey_questions_answers_a_survey_question.yml
@@ -240,12 +186,28 @@ files:
240
186
  - spec/vcr/poptart/root/builds_top_level_uri.yml
241
187
  - spec/vcr/poptart/root/builds_urls.yml
242
188
  - spec/vcr/poptart/root/returns_survey_links.yml
189
+ - spec/vcr/poptart/survey/adds_a_question_to_a_survey.yml
190
+ - spec/vcr/poptart/survey/creates_a_random_survey.yml
191
+ - spec/vcr/poptart/survey/creates_an_empty_survey.yml
192
+ - spec/vcr/poptart/survey/returns_a_survey_by_id.yml
193
+ - spec/vcr/poptart/user/creates_a_user.yml
194
+ - spec/vcr/poptart/user/returns_a_user.yml
195
+ - spec/vcr/questions/creates_a_question.yml
196
+ - spec/vcr/questions/finds_a_question_by_id.yml
197
+ - spec/vcr/questions/finds_a_question_by_key.yml
198
+ - spec/vcr/questions/returns_all_answered_survey_questions_for_a_question.yml
243
199
  - spec/vcr/retrieving/answers_returns_all_answered_survey_questions_for_a_question.yml
244
200
  - spec/vcr/retrieving/answers_returns_all_answered_survey_questions_for_a_question_by_key.yml
245
201
  - spec/vcr/retrieving/answers_returns_answers.yml
246
202
  - spec/vcr/retrieving/responses_returns_responses.yml
203
+ - spec/vcr/survey/questions_answers_a_multiple_choice_question.yml
204
+ - spec/vcr/survey/questions_answers_a_survey_question.yml
205
+ - spec/vcr/survey/questions_creates_and_returns_an_empty_survey.yml
206
+ - spec/vcr/survey/questions_finds_survey_question_for_id.yml
207
+ - spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_question.yml
208
+ - spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_question_by_key.yml
209
+ - spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_survey.yml
247
210
  - spec/vcr/surveys/fetchs_all_surveys_for_a_user.yml
248
- - spec/vcr/user/management_creates_a_user.yml
249
211
  - spec/vcr/user/management_returns_a_user.yml
250
212
  - tags
251
213
  homepage: https://github.com/austenito/poptart
@@ -273,11 +235,16 @@ signing_key:
273
235
  specification_version: 4
274
236
  summary: The API client gem for the happines service
275
237
  test_files:
276
- - spec/requests/answering_survey_questions_spec.rb
277
- - spec/requests/answers_spec.rb
278
- - spec/requests/creating_questions_spec.rb
238
+ - spec/lib/poptart/model_spec.rb
239
+ - spec/lib/poptart/question_spec.rb
240
+ - spec/lib/poptart/root_spec.rb
241
+ - spec/lib/poptart/survey_question_spec.rb
242
+ - spec/lib/poptart/survey_spec.rb
243
+ - spec/lib/poptart/user_spec.rb
244
+ - spec/requests/questions_spec.rb
245
+ - spec/requests/survey_questions_spec.rb
279
246
  - spec/requests/surveys_spec.rb
280
- - spec/requests/user_management_spec.rb
247
+ - spec/requests/users_spec.rb
281
248
  - spec/spec_helper.rb
282
249
  - spec/vcr/answering/survey_questions_answers_a_multiple_choice_question.yml
283
250
  - spec/vcr/answering/survey_questions_answers_a_survey_question.yml
@@ -291,10 +258,26 @@ test_files:
291
258
  - spec/vcr/poptart/root/builds_top_level_uri.yml
292
259
  - spec/vcr/poptart/root/builds_urls.yml
293
260
  - spec/vcr/poptart/root/returns_survey_links.yml
261
+ - spec/vcr/poptart/survey/adds_a_question_to_a_survey.yml
262
+ - spec/vcr/poptart/survey/creates_a_random_survey.yml
263
+ - spec/vcr/poptart/survey/creates_an_empty_survey.yml
264
+ - spec/vcr/poptart/survey/returns_a_survey_by_id.yml
265
+ - spec/vcr/poptart/user/creates_a_user.yml
266
+ - spec/vcr/poptart/user/returns_a_user.yml
267
+ - spec/vcr/questions/creates_a_question.yml
268
+ - spec/vcr/questions/finds_a_question_by_id.yml
269
+ - spec/vcr/questions/finds_a_question_by_key.yml
270
+ - spec/vcr/questions/returns_all_answered_survey_questions_for_a_question.yml
294
271
  - spec/vcr/retrieving/answers_returns_all_answered_survey_questions_for_a_question.yml
295
272
  - spec/vcr/retrieving/answers_returns_all_answered_survey_questions_for_a_question_by_key.yml
296
273
  - spec/vcr/retrieving/answers_returns_answers.yml
297
274
  - spec/vcr/retrieving/responses_returns_responses.yml
275
+ - spec/vcr/survey/questions_answers_a_multiple_choice_question.yml
276
+ - spec/vcr/survey/questions_answers_a_survey_question.yml
277
+ - spec/vcr/survey/questions_creates_and_returns_an_empty_survey.yml
278
+ - spec/vcr/survey/questions_finds_survey_question_for_id.yml
279
+ - spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_question.yml
280
+ - spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_question_by_key.yml
281
+ - spec/vcr/survey/questions_returns_all_answered_survey_questions_for_a_survey.yml
298
282
  - spec/vcr/surveys/fetchs_all_surveys_for_a_user.yml
299
- - spec/vcr/user/management_creates_a_user.yml
300
283
  - spec/vcr/user/management_returns_a_user.yml
@@ -1,14 +0,0 @@
1
- module Poptart
2
- class BooleanQuestion < Question
3
- extend Poptart::Request
4
-
5
- def self.create(text, freeform: false, absolute_index: nil, parent_question_id: nil, key: nil)
6
- super(text, responses: [true, false], freeform: freeform,
7
- absolute_index: absolute_index, parent_question_id: parent_question_id, key: key)
8
- end
9
-
10
- def self.question_type
11
- 'boolean'
12
- end
13
- end
14
- end
@@ -1,9 +0,0 @@
1
- module Poptart
2
- class MultipleResponseQuestion < Question
3
- extend Poptart::Request
4
-
5
- def self.question_type
6
- 'multiple'
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Poptart
2
- class RangeQuestion < Question
3
- extend Poptart::Request
4
-
5
- def self.question_type
6
- 'range'
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Poptart
2
- class TimeQuestion < Question
3
- extend Poptart::Request
4
-
5
- def self.question_type
6
- 'time'
7
- end
8
- end
9
- end
@@ -1,79 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Answering survey questions' do
4
- it "creates and returns an empty survey", :vcr do
5
- user = Poptart::User.create
6
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
7
- survey = user.create_survey
8
- survey.service_user_id.should == user.service_user_id
9
- survey.survey_questions.count.should == 0
10
- end
11
-
12
- it "creates and returns a random question survey", :vcr do
13
- user = Poptart::User.create
14
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
15
- survey = user.create_random_survey
16
- survey.service_user_id.should == user.service_user_id
17
- survey.survey_questions.count.should > 0
18
- end
19
-
20
- it "answers a survey question", :vcr do
21
- user = Poptart::User.create
22
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
23
- survey = user.create_random_survey
24
- survey_question = survey.survey_questions.first
25
- survey_question.text.should be
26
- survey_question.answer = "foo"
27
- survey_question.submit.should be
28
-
29
- survey = user.survey_for_id(survey.id)
30
- survey.survey_questions.first.answer.should == "foo"
31
- end
32
-
33
- it "answers a survey question", :vcr do
34
- boolean_questions = Poptart::Question.all(type: 'boolean')
35
- user = Poptart::User.create
36
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
37
- survey = user.create_survey
38
- survey_question = survey.add_question(boolean_questions.first)
39
-
40
- survey.survey_questions.count.should == 1
41
- survey_question.responses.should == ['t', 'f']
42
- survey_question.type.should == 'boolean'
43
-
44
- survey_question.answer = true
45
- survey_question.submit.should be
46
-
47
- survey = user.survey_for_id(survey.id)
48
- survey.survey_questions.first.answer.should == true
49
- survey.completed?.should == true
50
- end
51
-
52
- it "answers a multiple choice question", :vcr do
53
- questions = Poptart::Question.all(type: 'multiple')
54
- question = questions.find { |question| question.responses.include?('At Home') }
55
- user = Poptart::User.create
56
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
57
- survey = user.create_survey
58
- survey_question = survey.add_question(question)
59
-
60
- survey.survey_questions.count.should == 1
61
- survey_question.responses.should == ["At Home", "At Work", "In a car", "Other"]
62
- survey_question.type.should == 'multiple'
63
-
64
- survey_question.answer = 'At Home'
65
- survey_question.submit.should be
66
-
67
- survey = user.survey_for_id(survey.id)
68
- survey.survey_questions.first.answer.should == 'At Home'
69
- end
70
-
71
- it "finds survey question for id", :vcr do
72
- user = Poptart::User.create
73
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
74
- survey = user.create_random_survey
75
- first_survey_question = survey.survey_questions.first
76
- survey_question = survey.survey_question_for_id(first_survey_question.id)
77
- first_survey_question.should == survey_question
78
- end
79
- end
@@ -1,45 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'retrieving answers' do
4
- it "returns all answered survey questions for a question", :vcr do
5
- question = Poptart::BooleanQuestion.create("Do you like poptarts?")
6
- user = Poptart::User.create
7
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
8
-
9
- survey = user.create_survey
10
- first_survey_question = survey.add_question(question)
11
- second_survey = user.create_survey
12
- second_survey_question = second_survey.add_question(question)
13
-
14
- first_survey_question.answer = true
15
- first_survey_question.submit.should be
16
-
17
- second_survey_question.answer = false
18
- second_survey_question.submit.should be
19
-
20
- survey_questions = user.survey_questions_for_question_id(question.id)
21
- survey_questions.map(&:answer).should =~ [true, false]
22
- end
23
-
24
- it "returns all answered survey questions for a question by key", :vcr do
25
- key = 'testingooptarts'
26
- question = Poptart::BooleanQuestion.create("Do you like poptarts?", key: key)
27
- user = Poptart::User.create
28
- Poptart.authorize(service_user_id: user.service_user_id, user_token: user.token)
29
-
30
- survey = user.create_survey
31
- first_survey_question = survey.add_question(question)
32
- second_survey = user.create_survey
33
- second_survey_question = second_survey.add_question(question)
34
-
35
- first_survey_question.answer = true
36
- first_survey_question.submit.should be
37
-
38
- second_survey_question.answer = false
39
- second_survey_question.submit.should be
40
-
41
- survey_questions = user.survey_questions_for_key(key)
42
- survey_questions.first.key.should == key
43
- survey_questions.map(&:answer).should =~ [true, false]
44
- end
45
- end
@@ -1,30 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'creating quesitons' do
4
- it 'returns boolean question', :vcr do
5
- question = Poptart::BooleanQuestion.create("Do you like poptarts?", freeform: true, absolute_index: 10, parent_question_id: 42, key: 'poptarts')
6
- question.should be
7
- question.question_type.should == 'boolean'
8
- question.responses.should =~ [true, false]
9
- question.absolute_index.should == 10
10
- question.parent_question_id.should == 42
11
- question.freeform?.should be
12
- question.key.should == 'poptarts'
13
- end
14
-
15
- it 'returns multiple question', :vcr do
16
- responses = ['Yes', 'No']
17
- question = Poptart::MultipleResponseQuestion.create("Do you like poptarts?", responses: responses)
18
- question.should be
19
- question.question_type.should == 'multiple'
20
- question.responses.should =~ ['Yes', 'No']
21
- end
22
-
23
- it 'returns range question', :vcr do
24
- responses = [0, 10]
25
- question = Poptart::RangeQuestion.create("Do you like poptarts?", responses: responses)
26
- question.should be
27
- question.question_type.should == 'range'
28
- question.responses.should =~ [0, 10]
29
- end
30
- end