badgeapi 0.3.10 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rubocop.yml +147 -0
  4. data/README.md +44 -12
  5. data/Rakefile +24 -11
  6. data/badgeapi.gemspec +23 -22
  7. data/lib/badgeapi/badge.rb +24 -27
  8. data/lib/badgeapi/badgeapi_object.rb +160 -147
  9. data/lib/badgeapi/collection.rb +6 -9
  10. data/lib/badgeapi/errors/api_error.rb +3 -4
  11. data/lib/badgeapi/errors/badgeapi_error.rb +15 -15
  12. data/lib/badgeapi/errors/invalid_request_error.rb +3 -4
  13. data/lib/badgeapi/recipient.rb +13 -16
  14. data/lib/badgeapi/version.rb +1 -1
  15. data/lib/badgeapi.rb +13 -15
  16. data/test/badge/badge_test.rb +71 -150
  17. data/test/badgeapi_test.rb +4 -0
  18. data/test/collection/collection_test.rb +43 -77
  19. data/test/fixtures/badge_all.yml +113 -0
  20. data/test/fixtures/{bad_api_key.yml → badge_all_bad_user.yml} +14 -13
  21. data/test/fixtures/{all_badges_bad_user.yml → badge_all_badges_bad_user.yml} +16 -57
  22. data/test/fixtures/badge_all_expanded.yml +184 -0
  23. data/test/fixtures/badge_all_from_collection.yml +52 -0
  24. data/test/fixtures/badge_all_issued.yml +99 -0
  25. data/test/fixtures/{all_badges_limited.yml → badge_all_limited.yml} +10 -8
  26. data/test/fixtures/{create_badge.yml → badge_create.yml} +20 -16
  27. data/test/fixtures/{create_new_badge_failure.yml → badge_create_new.yml} +28 -22
  28. data/test/fixtures/badge_destroy.yml +147 -0
  29. data/test/fixtures/badge_destroy_error.yml +147 -0
  30. data/test/fixtures/badge_error.yml +54 -6
  31. data/test/fixtures/{issue_badge_to_bad_user.yml → badge_issue_to_bad_user.yml} +8 -6
  32. data/test/fixtures/badge_issue_to_user.yml +107 -0
  33. data/test/fixtures/{issue_badge_to_user_with_library_card.yml → badge_issue_to_user_with_library_card.yml} +21 -17
  34. data/test/fixtures/{one_badge.yml → badge_one.yml} +10 -8
  35. data/test/fixtures/{one_badge_expanded.yml → badge_one_expanded.yml} +11 -9
  36. data/test/fixtures/badge_requirements.yml +150 -105
  37. data/test/fixtures/badge_revoke_from_user.yml +107 -0
  38. data/test/fixtures/{update_badge_via_update.yml → badge_update_via_update.yml} +31 -25
  39. data/test/fixtures/{update_badge_via_update_slug_history.yml → badge_update_via_update_slug_history.yml} +41 -33
  40. data/test/fixtures/{all_collection.yml → collection_all.yml} +11 -9
  41. data/test/fixtures/collection_all_expanded.yml +123 -0
  42. data/test/fixtures/{all_collection_limit.yml → collection_all_limit.yml} +10 -8
  43. data/test/fixtures/{create_collection.yml → collection_create.yml} +20 -16
  44. data/test/fixtures/{create_new_collection_failure.yml → collection_create_new_failure.yml} +36 -28
  45. data/test/fixtures/{destroy_collection.yml → collection_destroy.yml} +36 -28
  46. data/test/fixtures/{destroy_collection_error.yml → collection_destroy_error.yml} +36 -28
  47. data/test/fixtures/collection_error.yml +108 -12
  48. data/test/fixtures/{one_collection.yml → collection_one.yml} +10 -8
  49. data/test/fixtures/collection_one_expanded.yml +106 -0
  50. data/test/fixtures/{update_collection.yml → collection_update.yml} +40 -32
  51. data/test/fixtures/{update_collection_via_update.yml → collection_update_via_update.yml} +30 -24
  52. data/test/fixtures/{bad_Recipietn_request.yml → recipient_bad_user_data.yml} +26 -22
  53. data/test/fixtures/recipient_with_badges.yml +20 -108
  54. data/test/fixtures/recipient_with_badges_unicard.yml +151 -8
  55. data/test/recipient/recipient_test.rb +11 -29
  56. metadata +69 -73
  57. data/test/fixtures/all_badges.yml +0 -121
  58. data/test/fixtures/all_badges_expanded.yml +0 -196
  59. data/test/fixtures/all_badges_from_collection.yml +0 -52
  60. data/test/fixtures/all_badges_issued.yml +0 -430
  61. data/test/fixtures/all_collection_expanded.yml +0 -131
  62. data/test/fixtures/bad_Recipient.yml +0 -183
  63. data/test/fixtures/destroy_badge.yml +0 -277
  64. data/test/fixtures/destroy_badge_error.yml +0 -231
  65. data/test/fixtures/issue_already_owned_badge.yml +0 -49
  66. data/test/fixtures/issue_badge_to_user.yml +0 -199
  67. data/test/fixtures/one_collection_expanded.yml +0 -104
  68. data/test/fixtures/revoke_badge_from_user.yml +0 -199
  69. data/test/fixtures/revoke_badge_not_issued.yml +0 -49
@@ -0,0 +1,184 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://gamification-api.dev/v1/badges?expand=monkey
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Authorization:
13
+ - Token token="c9cde524238644fa93393159e5e9ad87"
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: Bad Request
22
+ headers:
23
+ Strict-Transport-Security:
24
+ - max-age=31536000
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ X-Xss-Protection:
28
+ - 1; mode=block
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Cache-Control:
34
+ - no-cache
35
+ X-Request-Id:
36
+ - 3870340e-11fa-4776-aff1-350ef0babff3
37
+ X-Runtime:
38
+ - '0.015141'
39
+ Date:
40
+ - Thu, 19 Nov 2015 15:41:25 GMT
41
+ Connection:
42
+ - close
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"error":{"type":"invalid_request_error","message":"Invalid expand
46
+ parameter: monkey","status":400}}'
47
+ http_version:
48
+ recorded_at: Thu, 19 Nov 2015 15:41:25 GMT
49
+ - request:
50
+ method: get
51
+ uri: https://gamification-api.dev/v1/badges?expand=collection
52
+ body:
53
+ encoding: US-ASCII
54
+ string: ''
55
+ headers:
56
+ User-Agent:
57
+ - Faraday v0.9.2
58
+ Authorization:
59
+ - Token token="c9cde524238644fa93393159e5e9ad87"
60
+ Accept-Encoding:
61
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
62
+ Accept:
63
+ - "*/*"
64
+ response:
65
+ status:
66
+ code: 200
67
+ message: OK
68
+ headers:
69
+ Strict-Transport-Security:
70
+ - max-age=31536000
71
+ X-Frame-Options:
72
+ - SAMEORIGIN
73
+ X-Xss-Protection:
74
+ - 1; mode=block
75
+ X-Content-Type-Options:
76
+ - nosniff
77
+ Content-Type:
78
+ - application/json; charset=utf-8
79
+ Etag:
80
+ - '"13aa54c0f64da5d07c290b7e5fb7d420"'
81
+ Cache-Control:
82
+ - max-age=0, private, must-revalidate
83
+ X-Request-Id:
84
+ - 6fe77cd9-5ae1-47bc-87d0-e588a4c38f17
85
+ X-Runtime:
86
+ - '0.029899'
87
+ Date:
88
+ - Thu, 19 Nov 2015 15:41:28 GMT
89
+ Connection:
90
+ - close
91
+ body:
92
+ encoding: ASCII-8BIT
93
+ string: !binary |-
94
+ W3sibmFtZSI6IkJvb2sgV29ybSIsImRlc2NyaXB0aW9uIjoiWW91IGhhdmUg
95
+ bG9hbmVkIG91dCBvdmVyIDI1IGJvb2tzLiBOaWNlIGdvaW5nISIsInJlcXVp
96
+ cmVtZW50cyI6IkxvYW4gb3V0IDI1IGJvb2tzIiwiaGludCI6IllvdSBtdXN0
97
+ IGxpa2UgYm9va3MuLi4iLCJpbWFnZSI6Imh0dHBzOi8vZ2FtaWZpY2F0aW9u
98
+ LWFwaS5kZXYvYmFkZ2VfaW1hZ2VzL2Jvb2std29ybS9iYWRnZS5wbmciLCJj
99
+ b2xsZWN0aW9uX2lkIjoibGlicmFyeSIsImNyZWF0ZWRfYXQiOiIyMDE1LTEx
100
+ LTE4VDExOjM5OjU4Ljk1NloiLCJ1cGRhdGVkX2F0IjoiMjAxNS0xMS0xOFQx
101
+ MTozOTo1OC45NTZaIiwibGV2ZWwiOiJicm9uemUiLCJhdXRvX2lzc3VlIjpm
102
+ YWxzZSwic3RhdHVzIjoibGl2ZSIsInJlcXVpcmVkX2JhZGdlcyI6W10sInBv
103
+ aW50cyI6MjUsIm9iamVjdCI6ImJhZGdlIiwiY29sbGVjdGlvbiI6eyJpZCI6
104
+ ImxpYnJhcnkiLCJuYW1lIjoiTGlicmFyeSIsImRlc2NyaXB0aW9uIjoiVXNl
105
+ IHlvdXIgbGlicmFyeSBhbmQgZWFybiBiYWRnZXMiLCJjcmVhdGVkX2F0Ijoi
106
+ MjAxNS0xMS0xOFQxMTozOTo1OC44NTlaIiwidXBkYXRlZF9hdCI6IjIwMTUt
107
+ MTEtMThUMTE6Mzk6NTguODU5WiIsInRvdGFsX3BvaW50c19hdmFpbGFibGUi
108
+ OjEyNSwib2JqZWN0IjoiY29sbGVjdGlvbiJ9LCJpZCI6ImJvb2std29ybSJ9
109
+ LHsibmFtZSI6Ik1lZ2EgQm9vayBXb3JtIiwiZGVzY3JpcHRpb24iOiJZb3Ug
110
+ aGF2ZSBsb2FuZWQgb3V0IDUwIGJvb2tzLiIsInJlcXVpcmVtZW50cyI6Ikxv
111
+ YW4gb3V0IDUwIGJvb2tzIiwiaGludCI6IllvdSBtdXN0IHJlYWxseSBsaWtl
112
+ IGJvb2tzLi4uIiwiaW1hZ2UiOiJodHRwczovL2dhbWlmaWNhdGlvbi1hcGku
113
+ ZGV2L2JhZGdlX2ltYWdlcy9tZWdhLWJvb2std29ybS9iYWRnZS5wbmciLCJj
114
+ b2xsZWN0aW9uX2lkIjoibGlicmFyeSIsImNyZWF0ZWRfYXQiOiIyMDE1LTEx
115
+ LTE4VDExOjQwOjA1LjA2OFoiLCJ1cGRhdGVkX2F0IjoiMjAxNS0xMS0xOFQx
116
+ MTo0MDowNS4wNjhaIiwibGV2ZWwiOiJzaWx2ZXIiLCJhdXRvX2lzc3VlIjpm
117
+ YWxzZSwic3RhdHVzIjoibGl2ZSIsInJlcXVpcmVkX2JhZGdlcyI6W3sibmFt
118
+ ZSI6IkJvb2sgV29ybSIsImRlc2NyaXB0aW9uIjoiWW91IGhhdmUgbG9hbmVk
119
+ IG91dCBvdmVyIDI1IGJvb2tzLiBOaWNlIGdvaW5nISIsInJlcXVpcmVtZW50
120
+ cyI6IkxvYW4gb3V0IDI1IGJvb2tzIiwiaGludCI6IllvdSBtdXN0IGxpa2Ug
121
+ Ym9va3MuLi4iLCJpbWFnZSI6Imh0dHBzOi8vZ2FtaWZpY2F0aW9uLWFwaS5k
122
+ ZXYvYmFkZ2VfaW1hZ2VzL2Jvb2std29ybS9iYWRnZS5wbmciLCJjb2xsZWN0
123
+ aW9uX2lkIjoibGlicmFyeSIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTE4VDEx
124
+ OjM5OjU4Ljk1NloiLCJ1cGRhdGVkX2F0IjoiMjAxNS0xMS0xOFQxMTozOTo1
125
+ OC45NTZaIiwibGV2ZWwiOiJicm9uemUiLCJhdXRvX2lzc3VlIjpmYWxzZSwi
126
+ c3RhdHVzIjoibGl2ZSIsInJlcXVpcmVkX2JhZGdlcyI6W10sInBvaW50cyI6
127
+ MjUsIm9iamVjdCI6ImJhZGdlIiwiaWQiOiJib29rLXdvcm0ifV0sInBvaW50
128
+ cyI6NTAsIm9iamVjdCI6ImJhZGdlIiwiY29sbGVjdGlvbiI6eyJpZCI6Imxp
129
+ YnJhcnkiLCJuYW1lIjoiTGlicmFyeSIsImRlc2NyaXB0aW9uIjoiVXNlIHlv
130
+ dXIgbGlicmFyeSBhbmQgZWFybiBiYWRnZXMiLCJjcmVhdGVkX2F0IjoiMjAx
131
+ NS0xMS0xOFQxMTozOTo1OC44NTlaIiwidXBkYXRlZF9hdCI6IjIwMTUtMTEt
132
+ MThUMTE6Mzk6NTguODU5WiIsInRvdGFsX3BvaW50c19hdmFpbGFibGUiOjEy
133
+ NSwib2JqZWN0IjoiY29sbGVjdGlvbiJ9LCJpZCI6Im1lZ2EtYm9vay13b3Jt
134
+ In0seyJuYW1lIjoiTmlnaHQgT3dsIiwiZGVzY3JpcHRpb24iOiJZb3UgbG9h
135
+ bmVkIGEgYm9vayBvdXQgYmV0d2VlbiBNaWRuaWdodCBhbmQgNSBvJ2Nsb2Nr
136
+ IiwicmVxdWlyZW1lbnRzIjoiTG9hbiBvdXQgYSBib29rIGJldHdlZW4gMDA6
137
+ MDAgLSA1OjAwIiwiaGludCI6Ikl0IG11c3QgYmUgbGF0ZS4uLiIsImltYWdl
138
+ IjoiaHR0cHM6Ly9nYW1pZmljYXRpb24tYXBpLmRldi9iYWRnZV9pbWFnZXMv
139
+ bmlnaHQtb3dsL2JhZGdlLnBuZyIsImNvbGxlY3Rpb25faWQiOiJsaWJyYXJ5
140
+ IiwiY3JlYXRlZF9hdCI6IjIwMTUtMTEtMThUMTE6NDA6MTAuMTc2WiIsInVw
141
+ ZGF0ZWRfYXQiOiIyMDE1LTExLTE4VDExOjQwOjEwLjE3NloiLCJsZXZlbCI6
142
+ ImJyb256ZSIsImF1dG9faXNzdWUiOmZhbHNlLCJzdGF0dXMiOiJsaXZlIiwi
143
+ cmVxdWlyZWRfYmFkZ2VzIjpbXSwicG9pbnRzIjoyNSwib2JqZWN0IjoiYmFk
144
+ Z2UiLCJjb2xsZWN0aW9uIjp7ImlkIjoibGlicmFyeSIsIm5hbWUiOiJMaWJy
145
+ YXJ5IiwiZGVzY3JpcHRpb24iOiJVc2UgeW91ciBsaWJyYXJ5IGFuZCBlYXJu
146
+ IGJhZGdlcyIsImNyZWF0ZWRfYXQiOiIyMDE1LTExLTE4VDExOjM5OjU4Ljg1
147
+ OVoiLCJ1cGRhdGVkX2F0IjoiMjAxNS0xMS0xOFQxMTozOTo1OC44NTlaIiwi
148
+ dG90YWxfcG9pbnRzX2F2YWlsYWJsZSI6MTI1LCJvYmplY3QiOiJjb2xsZWN0
149
+ aW9uIn0sImlkIjoibmlnaHQtb3dsIn0seyJuYW1lIjoiT3VyIEJlc3QgRnJp
150
+ ZW5kIiwiZGVzY3JpcHRpb24iOiJZb3UgZGlkbid0IGdldCBhbnkgZmluZXMg
151
+ aW4gdGhlIGxhc3QgMTIgbW9udGhzISIsInJlcXVpcmVtZW50cyI6IsKjMCBp
152
+ biBmaW5lcyBmb3IgdGhlIHBhc3QgMTIgbW9udGhzIiwiaGludCI6IkRvbid0
153
+ IGdldCBpbiB0cm91YmxlIG5vdy4uLiIsImltYWdlIjoiaHR0cHM6Ly9nYW1p
154
+ ZmljYXRpb24tYXBpLmRldi9iYWRnZV9pbWFnZXMvb3VyLWJlc3QtZnJpZW5k
155
+ L2JhZGdlLnBuZyIsImNvbGxlY3Rpb25faWQiOiJsaWJyYXJ5IiwiY3JlYXRl
156
+ ZF9hdCI6IjIwMTUtMTEtMThUMTE6NDA6MTUuMjEwWiIsInVwZGF0ZWRfYXQi
157
+ OiIyMDE1LTExLTE4VDExOjQwOjE1LjIxMFoiLCJsZXZlbCI6ImJyb256ZSIs
158
+ ImF1dG9faXNzdWUiOmZhbHNlLCJzdGF0dXMiOiJsaXZlIiwicmVxdWlyZWRf
159
+ YmFkZ2VzIjpbXSwicG9pbnRzIjoyNSwib2JqZWN0IjoiYmFkZ2UiLCJjb2xs
160
+ ZWN0aW9uIjp7ImlkIjoibGlicmFyeSIsIm5hbWUiOiJMaWJyYXJ5IiwiZGVz
161
+ Y3JpcHRpb24iOiJVc2UgeW91ciBsaWJyYXJ5IGFuZCBlYXJuIGJhZGdlcyIs
162
+ ImNyZWF0ZWRfYXQiOiIyMDE1LTExLTE4VDExOjM5OjU4Ljg1OVoiLCJ1cGRh
163
+ dGVkX2F0IjoiMjAxNS0xMS0xOFQxMTozOTo1OC44NTlaIiwidG90YWxfcG9p
164
+ bnRzX2F2YWlsYWJsZSI6MTI1LCJvYmplY3QiOiJjb2xsZWN0aW9uIn0sImlk
165
+ Ijoib3VyLWJlc3QtZnJpZW5kIn0seyJuYW1lIjoiTWFyYXRob24gTWFuIiwi
166
+ ZGVzY3JpcHRpb24iOiJZb3UgaGF2ZSBydW4gMTAgbGFwcyBvZiB0aGUgdHJp
167
+ cHMgdHJhaWwgdGhhdCBpcyA0NyBraWxvbWV0ZXJzIiwicmVxdWlyZW1lbnRz
168
+ IjoiQ29tcGxldGUgMTAgbGFwcyBvZiB0aGUgdHJpbSB0cmFpbCBvdmVyIGFu
169
+ eSB0aW1lIiwiaGludCI6IktlZXAgZ29pbmcuLi4iLCJpbWFnZSI6Imh0dHBz
170
+ Oi8vZ2FtaWZpY2F0aW9uLWFwaS5kZXYvYmFkZ2VfaW1hZ2VzL21hcmF0aG9u
171
+ LW1hbi9iYWRnZS5wbmciLCJjb2xsZWN0aW9uX2lkIjoidHJpbS10cmFpbCIs
172
+ ImNyZWF0ZWRfYXQiOiIyMDE1LTExLTE4VDExOjQwOjIwLjMwM1oiLCJ1cGRh
173
+ dGVkX2F0IjoiMjAxNS0xMS0xOFQxMTo0MDoyMC4zMDNaIiwibGV2ZWwiOiJn
174
+ b2xkIiwiYXV0b19pc3N1ZSI6ZmFsc2UsInN0YXR1cyI6ImxpdmUiLCJyZXF1
175
+ aXJlZF9iYWRnZXMiOltdLCJwb2ludHMiOjc1LCJvYmplY3QiOiJiYWRnZSIs
176
+ ImNvbGxlY3Rpb24iOnsiaWQiOiJ0cmltLXRyYWlsIiwibmFtZSI6IlRyaW0g
177
+ VHJhaWwiLCJkZXNjcmlwdGlvbiI6IkdldCBmaXQgYW5kIGhlYWx0aCBwbHVz
178
+ IGVhcm4gc29tZSBiYWRnZXMiLCJjcmVhdGVkX2F0IjoiMjAxNS0xMS0xOFQx
179
+ MTozOTo1OC44OThaIiwidXBkYXRlZF9hdCI6IjIwMTUtMTEtMThUMTE6Mzk6
180
+ NTguODk4WiIsInRvdGFsX3BvaW50c19hdmFpbGFibGUiOjc1LCJvYmplY3Qi
181
+ OiJjb2xsZWN0aW9uIn0sImlkIjoibWFyYXRob24tbWFuIn1d
182
+ http_version:
183
+ recorded_at: Thu, 19 Nov 2015 15:41:28 GMT
184
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://gamification-api.dev/v1/badges?collection_id=2
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Authorization:
13
+ - Token token="c9cde524238644fa93393159e5e9ad87"
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Strict-Transport-Security:
24
+ - max-age=31536000
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ X-Xss-Protection:
28
+ - 1; mode=block
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Etag:
34
+ - '"7cf5fee40381853757c784de33957938"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - a9576c79-00ec-4f6c-afd9-5a6202555b23
39
+ X-Runtime:
40
+ - '0.019545'
41
+ Date:
42
+ - Thu, 19 Nov 2015 15:24:04 GMT
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '[{"name":"Marathon Man","description":"You have run 10 laps of the
48
+ trips trail that is 47 kilometers","requirements":"Complete 10 laps of the
49
+ trim trail over any time","hint":"Keep going...","image":"https://gamification-api.dev/badge_images/marathon-man/badge.png","collection_id":"trim-trail","created_at":"2015-11-18T11:40:20.303Z","updated_at":"2015-11-18T11:40:20.303Z","level":"gold","auto_issue":false,"status":"live","required_badges":[],"points":75,"object":"badge","id":"marathon-man"}]'
50
+ http_version:
51
+ recorded_at: Thu, 19 Nov 2015 15:24:04 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,99 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://gamification-api.dev/v1/badges?user=t.skarbek-wazynski@lancaster.ac.uk
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Authorization:
13
+ - Token token="c9cde524238644fa93393159e5e9ad87"
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Strict-Transport-Security:
24
+ - max-age=31536000
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ X-Xss-Protection:
28
+ - 1; mode=block
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Etag:
34
+ - '"2b292aa4d0fac5ab7af25225a3161eb4"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - 3ea70d99-8efd-4bb0-a244-bafd20b663fd
39
+ X-Runtime:
40
+ - '0.023920'
41
+ Date:
42
+ - Thu, 19 Nov 2015 15:41:28 GMT
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '[{"name":"Book Worm","description":"You have loaned out over 25 books.
48
+ Nice going!","requirements":"Loan out 25 books","hint":"You must like books...","image":"https://gamification-api.dev/badge_images/book-worm/badge.png","collection_id":"library","created_at":"2015-11-18T11:39:58.956Z","updated_at":"2015-11-18T11:39:58.956Z","level":"bronze","auto_issue":false,"status":"live","required_badges":[],"points":25,"object":"badge","id":"book-worm"}]'
49
+ http_version:
50
+ recorded_at: Thu, 19 Nov 2015 15:41:28 GMT
51
+ - request:
52
+ method: get
53
+ uri: https://gamification-api.dev/v1/badges?user=0043181
54
+ body:
55
+ encoding: US-ASCII
56
+ string: ''
57
+ headers:
58
+ User-Agent:
59
+ - Faraday v0.9.2
60
+ Authorization:
61
+ - Token token="c9cde524238644fa93393159e5e9ad87"
62
+ Accept-Encoding:
63
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
64
+ Accept:
65
+ - "*/*"
66
+ response:
67
+ status:
68
+ code: 200
69
+ message: OK
70
+ headers:
71
+ Strict-Transport-Security:
72
+ - max-age=31536000
73
+ X-Frame-Options:
74
+ - SAMEORIGIN
75
+ X-Xss-Protection:
76
+ - 1; mode=block
77
+ X-Content-Type-Options:
78
+ - nosniff
79
+ Content-Type:
80
+ - application/json; charset=utf-8
81
+ Etag:
82
+ - '"2b292aa4d0fac5ab7af25225a3161eb4"'
83
+ Cache-Control:
84
+ - max-age=0, private, must-revalidate
85
+ X-Request-Id:
86
+ - 9b4d3472-7723-4349-af43-c07066eb4454
87
+ X-Runtime:
88
+ - '1.428415'
89
+ Date:
90
+ - Thu, 19 Nov 2015 15:41:29 GMT
91
+ Connection:
92
+ - close
93
+ body:
94
+ encoding: UTF-8
95
+ string: '[{"name":"Book Worm","description":"You have loaned out over 25 books.
96
+ Nice going!","requirements":"Loan out 25 books","hint":"You must like books...","image":"https://gamification-api.dev/badge_images/book-worm/badge.png","collection_id":"library","created_at":"2015-11-18T11:39:58.956Z","updated_at":"2015-11-18T11:39:58.956Z","level":"bronze","auto_issue":false,"status":"live","required_badges":[],"points":25,"object":"badge","id":"book-worm"}]'
97
+ http_version:
98
+ recorded_at: Thu, 19 Nov 2015 15:41:29 GMT
99
+ recorded_with: VCR 2.9.3
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://gamification-api.dev/v1/badges?limit=1
5
+ uri: https://gamification-api.dev/v1/badges?limit=1
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.1
11
+ - Faraday v0.9.2
12
12
  Authorization:
13
13
  - Token token="c9cde524238644fa93393159e5e9ad87"
14
14
  Accept-Encoding:
@@ -20,6 +20,8 @@ http_interactions:
20
20
  code: 200
21
21
  message: OK
22
22
  headers:
23
+ Strict-Transport-Security:
24
+ - max-age=31536000
23
25
  X-Frame-Options:
24
26
  - SAMEORIGIN
25
27
  X-Xss-Protection:
@@ -29,21 +31,21 @@ http_interactions:
29
31
  Content-Type:
30
32
  - application/json; charset=utf-8
31
33
  Etag:
32
- - '"d285079b3dd4c8add1b94f6ed859b81e"'
34
+ - '"2b292aa4d0fac5ab7af25225a3161eb4"'
33
35
  Cache-Control:
34
36
  - max-age=0, private, must-revalidate
35
37
  X-Request-Id:
36
- - e25dba8c-4ea6-43f2-ad54-025578286b8f
38
+ - d4af12ff-dff0-47d4-ad5d-f2ce12d209bd
37
39
  X-Runtime:
38
- - '0.015611'
40
+ - '0.016711'
39
41
  Date:
40
- - Thu, 03 Sep 2015 10:55:55 GMT
42
+ - Thu, 19 Nov 2015 15:40:41 GMT
41
43
  Connection:
42
44
  - close
43
45
  body:
44
46
  encoding: UTF-8
45
47
  string: '[{"name":"Book Worm","description":"You have loaned out over 25 books.
46
- Nice going!","requirements":"Loan out 25 books","hint":"You must like books...","image":"http://gamification-api.dev/badge_images/book-worm/badge.png","collection_id":"library","created_at":"2015-09-03T10:51:07.831Z","updated_at":"2015-09-03T10:51:07.831Z","level":"bronze","auto_issue":false,"status":"live","required_badges":[],"points":25,"object":"badge","id":"book-worm"}]'
48
+ Nice going!","requirements":"Loan out 25 books","hint":"You must like books...","image":"https://gamification-api.dev/badge_images/book-worm/badge.png","collection_id":"library","created_at":"2015-11-18T11:39:58.956Z","updated_at":"2015-11-18T11:39:58.956Z","level":"bronze","auto_issue":false,"status":"live","required_badges":[],"points":25,"object":"badge","id":"book-worm"}]'
47
49
  http_version:
48
- recorded_at: Thu, 03 Sep 2015 10:55:55 GMT
50
+ recorded_at: Thu, 19 Nov 2015 15:40:41 GMT
49
51
  recorded_with: VCR 2.9.3
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://gamification-api.dev/v1/badges
5
+ uri: https://gamification-api.dev/v1/badges
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: badge%5Bauto_issue%5D=true&badge%5Bcollection_id%5D=1&badge%5Bdescription%5D=This+is+a+new+badge&badge%5Bhint%5D=Love+us..&badge%5Blevel%5D=silver&badge%5Bname%5D=Create+Badge+Test&badge%5Brequirements%5D=You+need+to+love+the+Badge+API
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.1
11
+ - Faraday v0.9.2
12
12
  Authorization:
13
13
  - Token token="c9cde524238644fa93393159e5e9ad87"
14
14
  Content-Type:
@@ -22,6 +22,8 @@ http_interactions:
22
22
  code: 201
23
23
  message: Created
24
24
  headers:
25
+ Strict-Transport-Security:
26
+ - max-age=31536000
25
27
  X-Frame-Options:
26
28
  - SAMEORIGIN
27
29
  X-Xss-Protection:
@@ -31,32 +33,32 @@ http_interactions:
31
33
  Content-Type:
32
34
  - application/json; charset=utf-8
33
35
  Etag:
34
- - '"a77f2514d4666598c45a619d9b6dd8ab"'
36
+ - '"0b41d4bd5fcc3c78c38fd773f567c2b4"'
35
37
  Cache-Control:
36
38
  - max-age=0, private, must-revalidate
37
39
  X-Request-Id:
38
- - 5fa77d10-8b12-469f-a165-be1285ae5b8b
40
+ - 18df4d04-bd80-49c6-b0b7-6dc6a8b636b8
39
41
  X-Runtime:
40
- - '0.077204'
42
+ - '8.035380'
41
43
  Date:
42
- - Thu, 03 Sep 2015 10:55:56 GMT
44
+ - Thu, 19 Nov 2015 15:41:17 GMT
43
45
  Connection:
44
46
  - close
45
47
  body:
46
48
  encoding: UTF-8
47
49
  string: '{"name":"Create Badge Test","description":"This is a new badge","requirements":"You
48
- need to love the Badge API","hint":"Love us..","image":"http://gamification-api.dev/badge_images/create-badge-test/badge.png","collection_id":"library","created_at":"2015-09-03T10:55:56.132Z","updated_at":"2015-09-03T10:55:56.132Z","level":"silver","auto_issue":true,"status":"draft","required_badges":[],"points":50,"object":"badge","id":"create-badge-test"}'
50
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-test/badge.png","collection_id":"library","created_at":"2015-11-19T15:41:09.295Z","updated_at":"2015-11-19T15:41:09.295Z","level":"silver","auto_issue":true,"status":"draft","required_badges":[],"points":50,"object":"badge","id":"create-badge-test"}'
49
51
  http_version:
50
- recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
52
+ recorded_at: Thu, 19 Nov 2015 15:41:17 GMT
51
53
  - request:
52
54
  method: delete
53
- uri: http://gamification-api.dev/v1/badges/create-badge-test
55
+ uri: https://gamification-api.dev/v1/badges/create-badge-test
54
56
  body:
55
57
  encoding: US-ASCII
56
58
  string: ''
57
59
  headers:
58
60
  User-Agent:
59
- - Faraday v0.9.1
61
+ - Faraday v0.9.2
60
62
  Authorization:
61
63
  - Token token="c9cde524238644fa93393159e5e9ad87"
62
64
  Accept-Encoding:
@@ -68,6 +70,8 @@ http_interactions:
68
70
  code: 200
69
71
  message: OK
70
72
  headers:
73
+ Strict-Transport-Security:
74
+ - max-age=31536000
71
75
  X-Frame-Options:
72
76
  - SAMEORIGIN
73
77
  X-Xss-Protection:
@@ -77,21 +81,21 @@ http_interactions:
77
81
  Content-Type:
78
82
  - application/json; charset=utf-8
79
83
  Etag:
80
- - '"a77f2514d4666598c45a619d9b6dd8ab"'
84
+ - '"0b41d4bd5fcc3c78c38fd773f567c2b4"'
81
85
  Cache-Control:
82
86
  - max-age=0, private, must-revalidate
83
87
  X-Request-Id:
84
- - 6e5cbd8d-4119-4b8f-bdb9-0854797176cd
88
+ - 7c7590b0-6af1-40d5-9a81-27c738d77cb6
85
89
  X-Runtime:
86
- - '0.026501'
90
+ - '0.042983'
87
91
  Date:
88
- - Thu, 03 Sep 2015 10:55:56 GMT
92
+ - Thu, 19 Nov 2015 15:41:17 GMT
89
93
  Connection:
90
94
  - close
91
95
  body:
92
96
  encoding: UTF-8
93
97
  string: '{"name":"Create Badge Test","description":"This is a new badge","requirements":"You
94
- need to love the Badge API","hint":"Love us..","image":"http://gamification-api.dev/badge_images/create-badge-test/badge.png","collection_id":"library","created_at":"2015-09-03T10:55:56.132Z","updated_at":"2015-09-03T10:55:56.132Z","level":"silver","auto_issue":true,"status":"draft","required_badges":[],"points":50,"object":"badge","id":"create-badge-test"}'
98
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-test/badge.png","collection_id":"library","created_at":"2015-11-19T15:41:09.295Z","updated_at":"2015-11-19T15:41:09.295Z","level":"silver","auto_issue":true,"status":"draft","required_badges":[],"points":50,"object":"badge","id":"create-badge-test"}'
95
99
  http_version:
96
- recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
100
+ recorded_at: Thu, 19 Nov 2015 15:41:17 GMT
97
101
  recorded_with: VCR 2.9.3
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://gamification-api.dev/v1/badges
5
+ uri: https://gamification-api.dev/v1/badges
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: badge%5Bcollection_id%5D=1&badge%5Bdescription%5D=This+is+a+new+badge&badge%5Bhint%5D=Love+us..&badge%5Blevel%5D=bronze&badge%5Bname%5D=Create+Badge+Test+Destroy&badge%5Brequirements%5D=You+need+to+love+the+Badge+API
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.1
11
+ - Faraday v0.9.2
12
12
  Authorization:
13
13
  - Token token="c9cde524238644fa93393159e5e9ad87"
14
14
  Content-Type:
@@ -22,6 +22,8 @@ http_interactions:
22
22
  code: 201
23
23
  message: Created
24
24
  headers:
25
+ Strict-Transport-Security:
26
+ - max-age=31536000
25
27
  X-Frame-Options:
26
28
  - SAMEORIGIN
27
29
  X-Xss-Protection:
@@ -31,32 +33,32 @@ http_interactions:
31
33
  Content-Type:
32
34
  - application/json; charset=utf-8
33
35
  Etag:
34
- - '"543350fcaeeb07c27708621f9c00008f"'
36
+ - '"9868ab4fb769c58eb98879af1359a05e"'
35
37
  Cache-Control:
36
38
  - max-age=0, private, must-revalidate
37
39
  X-Request-Id:
38
- - 8a7e4761-c728-43ac-8e5d-f5650499daf7
40
+ - 7d74315d-6df6-436e-a38e-60b593705ec8
39
41
  X-Runtime:
40
- - '0.079480'
42
+ - '7.618003'
41
43
  Date:
42
- - Thu, 03 Sep 2015 10:55:56 GMT
44
+ - Thu, 19 Nov 2015 15:41:25 GMT
43
45
  Connection:
44
46
  - close
45
47
  body:
46
48
  encoding: UTF-8
47
49
  string: '{"name":"Create Badge Test Destroy","description":"This is a new badge","requirements":"You
48
- need to love the Badge API","hint":"Love us..","image":"http://gamification-api.dev/badge_images/create-badge-test-destroy/badge.png","collection_id":"library","created_at":"2015-09-03T10:55:56.287Z","updated_at":"2015-09-03T10:55:56.287Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-test-destroy"}'
50
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-test-destroy/badge.png","collection_id":"library","created_at":"2015-11-19T15:41:17.944Z","updated_at":"2015-11-19T15:41:17.944Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-test-destroy"}'
49
51
  http_version:
50
- recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
52
+ recorded_at: Thu, 19 Nov 2015 15:41:25 GMT
51
53
  - request:
52
54
  method: post
53
- uri: http://gamification-api.dev/v1/badges
55
+ uri: https://gamification-api.dev/v1/badges
54
56
  body:
55
57
  encoding: UTF-8
56
58
  string: badge%5Bcollection_id%5D=1&badge%5Bdescription%5D=This+is+a+new+badge&badge%5Bhint%5D=Love+us..&badge%5Blevel%5D=bronze&badge%5Bname%5D=Create+Badge+Test+Destroy&badge%5Brequirements%5D=You+need+to+love+the+Badge+API
57
59
  headers:
58
60
  User-Agent:
59
- - Faraday v0.9.1
61
+ - Faraday v0.9.2
60
62
  Authorization:
61
63
  - Token token="c9cde524238644fa93393159e5e9ad87"
62
64
  Content-Type:
@@ -70,6 +72,8 @@ http_interactions:
70
72
  code: 422
71
73
  message: Unprocessable Entity
72
74
  headers:
75
+ Strict-Transport-Security:
76
+ - max-age=31536000
73
77
  X-Frame-Options:
74
78
  - SAMEORIGIN
75
79
  X-Xss-Protection:
@@ -81,11 +85,11 @@ http_interactions:
81
85
  Cache-Control:
82
86
  - no-cache
83
87
  X-Request-Id:
84
- - b92600d5-96ae-42cd-808a-d5896440db4e
88
+ - 7e11391c-8c16-46cb-8a46-08a5b88e003f
85
89
  X-Runtime:
86
- - '0.021309'
90
+ - '0.039658'
87
91
  Date:
88
- - Thu, 03 Sep 2015 10:55:56 GMT
92
+ - Thu, 19 Nov 2015 15:41:25 GMT
89
93
  Connection:
90
94
  - close
91
95
  body:
@@ -93,16 +97,16 @@ http_interactions:
93
97
  string: '{"error":{"type":"invalid_request_error","message":{"name":["has already
94
98
  been taken"]},"status":422}}'
95
99
  http_version:
96
- recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
100
+ recorded_at: Thu, 19 Nov 2015 15:41:25 GMT
97
101
  - request:
98
102
  method: delete
99
- uri: http://gamification-api.dev/v1/badges/create-badge-test-destroy
103
+ uri: https://gamification-api.dev/v1/badges/create-badge-test-destroy
100
104
  body:
101
105
  encoding: US-ASCII
102
106
  string: ''
103
107
  headers:
104
108
  User-Agent:
105
- - Faraday v0.9.1
109
+ - Faraday v0.9.2
106
110
  Authorization:
107
111
  - Token token="c9cde524238644fa93393159e5e9ad87"
108
112
  Accept-Encoding:
@@ -114,6 +118,8 @@ http_interactions:
114
118
  code: 200
115
119
  message: OK
116
120
  headers:
121
+ Strict-Transport-Security:
122
+ - max-age=31536000
117
123
  X-Frame-Options:
118
124
  - SAMEORIGIN
119
125
  X-Xss-Protection:
@@ -123,21 +129,21 @@ http_interactions:
123
129
  Content-Type:
124
130
  - application/json; charset=utf-8
125
131
  Etag:
126
- - '"543350fcaeeb07c27708621f9c00008f"'
132
+ - '"9868ab4fb769c58eb98879af1359a05e"'
127
133
  Cache-Control:
128
134
  - max-age=0, private, must-revalidate
129
135
  X-Request-Id:
130
- - 86eb7d04-dfd9-4646-b4f8-901f2e38142b
136
+ - 4c39d3d2-b649-4292-a9cc-975037ba7a36
131
137
  X-Runtime:
132
- - '0.025862'
138
+ - '0.038233'
133
139
  Date:
134
- - Thu, 03 Sep 2015 10:55:56 GMT
140
+ - Thu, 19 Nov 2015 15:41:25 GMT
135
141
  Connection:
136
142
  - close
137
143
  body:
138
144
  encoding: UTF-8
139
145
  string: '{"name":"Create Badge Test Destroy","description":"This is a new badge","requirements":"You
140
- need to love the Badge API","hint":"Love us..","image":"http://gamification-api.dev/badge_images/create-badge-test-destroy/badge.png","collection_id":"library","created_at":"2015-09-03T10:55:56.287Z","updated_at":"2015-09-03T10:55:56.287Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-test-destroy"}'
146
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-test-destroy/badge.png","collection_id":"library","created_at":"2015-11-19T15:41:17.944Z","updated_at":"2015-11-19T15:41:17.944Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-test-destroy"}'
141
147
  http_version:
142
- recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
148
+ recorded_at: Thu, 19 Nov 2015 15:41:25 GMT
143
149
  recorded_with: VCR 2.9.3