badgeapi 0.3.10 → 1.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 (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,147 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://gamification-api.dev/v1/badges
6
+ body:
7
+ encoding: UTF-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+for+Destroy&badge%5Brequirements%5D=You+need+to+love+the+Badge+API
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Authorization:
13
+ - Token token="c9cde524238644fa93393159e5e9ad87"
14
+ Content-Type:
15
+ - application/x-www-form-urlencoded
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Strict-Transport-Security:
26
+ - max-age=31536000
27
+ X-Frame-Options:
28
+ - SAMEORIGIN
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ Content-Type:
34
+ - application/json; charset=utf-8
35
+ Etag:
36
+ - '"b2aeeaa59bd4de417cfc69f0055fa2c8"'
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - 51c94fc7-9d16-4f94-bd1a-710b244955d4
41
+ X-Runtime:
42
+ - '4.987678'
43
+ Date:
44
+ - Thu, 19 Nov 2015 15:40:46 GMT
45
+ Connection:
46
+ - close
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"name":"Create Badge for Destroy","description":"This is a new badge","requirements":"You
50
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-for-destroy/badge.png","collection_id":"library","created_at":"2015-11-19T15:40:41.495Z","updated_at":"2015-11-19T15:40:41.495Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-for-destroy"}'
51
+ http_version:
52
+ recorded_at: Thu, 19 Nov 2015 15:40:46 GMT
53
+ - request:
54
+ method: delete
55
+ uri: https://gamification-api.dev/v1/badges/create-badge-for-destroy
56
+ body:
57
+ encoding: US-ASCII
58
+ string: ''
59
+ headers:
60
+ User-Agent:
61
+ - Faraday v0.9.2
62
+ Authorization:
63
+ - Token token="c9cde524238644fa93393159e5e9ad87"
64
+ Accept-Encoding:
65
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
66
+ Accept:
67
+ - "*/*"
68
+ response:
69
+ status:
70
+ code: 200
71
+ message: OK
72
+ headers:
73
+ Strict-Transport-Security:
74
+ - max-age=31536000
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ X-Xss-Protection:
78
+ - 1; mode=block
79
+ X-Content-Type-Options:
80
+ - nosniff
81
+ Content-Type:
82
+ - application/json; charset=utf-8
83
+ Etag:
84
+ - '"b2aeeaa59bd4de417cfc69f0055fa2c8"'
85
+ Cache-Control:
86
+ - max-age=0, private, must-revalidate
87
+ X-Request-Id:
88
+ - 437419d7-1d60-44eb-822b-23372d426a57
89
+ X-Runtime:
90
+ - '0.027295'
91
+ Date:
92
+ - Thu, 19 Nov 2015 15:40:46 GMT
93
+ Connection:
94
+ - close
95
+ body:
96
+ encoding: UTF-8
97
+ string: '{"name":"Create Badge for Destroy","description":"This is a new badge","requirements":"You
98
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-for-destroy/badge.png","collection_id":"library","created_at":"2015-11-19T15:40:41.495Z","updated_at":"2015-11-19T15:40:41.495Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-for-destroy"}'
99
+ http_version:
100
+ recorded_at: Thu, 19 Nov 2015 15:40:46 GMT
101
+ - request:
102
+ method: delete
103
+ uri: https://gamification-api.dev/v1/badges/create-badge-for-destroy
104
+ body:
105
+ encoding: US-ASCII
106
+ string: ''
107
+ headers:
108
+ User-Agent:
109
+ - Faraday v0.9.2
110
+ Authorization:
111
+ - Token token="c9cde524238644fa93393159e5e9ad87"
112
+ Accept-Encoding:
113
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
114
+ Accept:
115
+ - "*/*"
116
+ response:
117
+ status:
118
+ code: 404
119
+ message: Not Found
120
+ headers:
121
+ Strict-Transport-Security:
122
+ - max-age=31536000
123
+ X-Frame-Options:
124
+ - SAMEORIGIN
125
+ X-Xss-Protection:
126
+ - 1; mode=block
127
+ X-Content-Type-Options:
128
+ - nosniff
129
+ Content-Type:
130
+ - application/json; charset=utf-8
131
+ Cache-Control:
132
+ - no-cache
133
+ X-Request-Id:
134
+ - 20bc9e88-7cec-40c6-9214-c369c3cbc99a
135
+ X-Runtime:
136
+ - '0.010723'
137
+ Date:
138
+ - Thu, 19 Nov 2015 15:40:46 GMT
139
+ Connection:
140
+ - close
141
+ body:
142
+ encoding: UTF-8
143
+ string: '{"error":{"type":"invalid_request_error","message":"No badge exists
144
+ with id: create-badge-for-destroy","status":404}}'
145
+ http_version:
146
+ recorded_at: Thu, 19 Nov 2015 15:40:46 GMT
147
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,147 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://gamification-api.dev/v1/badges
6
+ body:
7
+ encoding: UTF-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+for+Destroy&badge%5Brequirements%5D=You+need+to+love+the+Badge+API
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Authorization:
13
+ - Token token="c9cde524238644fa93393159e5e9ad87"
14
+ Content-Type:
15
+ - application/x-www-form-urlencoded
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Strict-Transport-Security:
26
+ - max-age=31536000
27
+ X-Frame-Options:
28
+ - SAMEORIGIN
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ Content-Type:
34
+ - application/json; charset=utf-8
35
+ Etag:
36
+ - '"468ca70041c4ffb5f8ced193f78029a6"'
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - 689ab9d9-8ae5-43c8-9b5b-283da6f7c6de
41
+ X-Runtime:
42
+ - '5.502053'
43
+ Date:
44
+ - Thu, 19 Nov 2015 15:40:52 GMT
45
+ Connection:
46
+ - close
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"name":"Create Badge for Destroy","description":"This is a new badge","requirements":"You
50
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-for-destroy/badge.png","collection_id":"library","created_at":"2015-11-19T15:40:46.677Z","updated_at":"2015-11-19T15:40:46.677Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-for-destroy"}'
51
+ http_version:
52
+ recorded_at: Thu, 19 Nov 2015 15:40:52 GMT
53
+ - request:
54
+ method: delete
55
+ uri: https://gamification-api.dev/v1/badges/create-badge-for-destroy
56
+ body:
57
+ encoding: US-ASCII
58
+ string: ''
59
+ headers:
60
+ User-Agent:
61
+ - Faraday v0.9.2
62
+ Authorization:
63
+ - Token token="c9cde524238644fa93393159e5e9ad87"
64
+ Accept-Encoding:
65
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
66
+ Accept:
67
+ - "*/*"
68
+ response:
69
+ status:
70
+ code: 200
71
+ message: OK
72
+ headers:
73
+ Strict-Transport-Security:
74
+ - max-age=31536000
75
+ X-Frame-Options:
76
+ - SAMEORIGIN
77
+ X-Xss-Protection:
78
+ - 1; mode=block
79
+ X-Content-Type-Options:
80
+ - nosniff
81
+ Content-Type:
82
+ - application/json; charset=utf-8
83
+ Etag:
84
+ - '"468ca70041c4ffb5f8ced193f78029a6"'
85
+ Cache-Control:
86
+ - max-age=0, private, must-revalidate
87
+ X-Request-Id:
88
+ - 1a8e02fc-9592-4ffa-bc56-1f34f38356bc
89
+ X-Runtime:
90
+ - '0.030015'
91
+ Date:
92
+ - Thu, 19 Nov 2015 15:40:52 GMT
93
+ Connection:
94
+ - close
95
+ body:
96
+ encoding: UTF-8
97
+ string: '{"name":"Create Badge for Destroy","description":"This is a new badge","requirements":"You
98
+ need to love the Badge API","hint":"Love us..","image":"https://gamification-api.dev/badge_images/create-badge-for-destroy/badge.png","collection_id":"library","created_at":"2015-11-19T15:40:46.677Z","updated_at":"2015-11-19T15:40:46.677Z","level":"bronze","auto_issue":false,"status":"draft","required_badges":[],"points":25,"object":"badge","id":"create-badge-for-destroy"}'
99
+ http_version:
100
+ recorded_at: Thu, 19 Nov 2015 15:40:52 GMT
101
+ - request:
102
+ method: delete
103
+ uri: https://gamification-api.dev/v1/badges/create-badge-for-destroy
104
+ body:
105
+ encoding: US-ASCII
106
+ string: ''
107
+ headers:
108
+ User-Agent:
109
+ - Faraday v0.9.2
110
+ Authorization:
111
+ - Token token="c9cde524238644fa93393159e5e9ad87"
112
+ Accept-Encoding:
113
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
114
+ Accept:
115
+ - "*/*"
116
+ response:
117
+ status:
118
+ code: 404
119
+ message: Not Found
120
+ headers:
121
+ Strict-Transport-Security:
122
+ - max-age=31536000
123
+ X-Frame-Options:
124
+ - SAMEORIGIN
125
+ X-Xss-Protection:
126
+ - 1; mode=block
127
+ X-Content-Type-Options:
128
+ - nosniff
129
+ Content-Type:
130
+ - application/json; charset=utf-8
131
+ Cache-Control:
132
+ - no-cache
133
+ X-Request-Id:
134
+ - 1825e052-487c-4ccf-95d3-b5ef3cda3979
135
+ X-Runtime:
136
+ - '0.016843'
137
+ Date:
138
+ - Thu, 19 Nov 2015 15:40:52 GMT
139
+ Connection:
140
+ - close
141
+ body:
142
+ encoding: UTF-8
143
+ string: '{"error":{"type":"invalid_request_error","message":"No badge exists
144
+ with id: create-badge-for-destroy","status":404}}'
145
+ http_version:
146
+ recorded_at: Thu, 19 Nov 2015 15:40:52 GMT
147
+ 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/27
5
+ uri: https://gamification-api.dev/v1/badges/27
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: 404
21
21
  message: Not Found
22
22
  headers:
23
+ Strict-Transport-Security:
24
+ - max-age=31536000
23
25
  X-Frame-Options:
24
26
  - SAMEORIGIN
25
27
  X-Xss-Protection:
@@ -31,11 +33,11 @@ http_interactions:
31
33
  Cache-Control:
32
34
  - no-cache
33
35
  X-Request-Id:
34
- - a6fe0e79-e41c-422c-b64e-6605eb61b852
36
+ - 0ae945eb-c9a3-481e-95cf-175ccd008f8d
35
37
  X-Runtime:
36
- - '0.012001'
38
+ - '0.014233'
37
39
  Date:
38
- - Thu, 03 Sep 2015 10:55:56 GMT
40
+ - Thu, 19 Nov 2015 15:24:12 GMT
39
41
  Connection:
40
42
  - close
41
43
  body:
@@ -43,5 +45,51 @@ http_interactions:
43
45
  string: '{"error":{"type":"invalid_request_error","message":"No badge exists
44
46
  with id: 27","status":404}}'
45
47
  http_version:
46
- recorded_at: Thu, 03 Sep 2015 10:55:56 GMT
48
+ recorded_at: Thu, 19 Nov 2015 15:24:12 GMT
49
+ - request:
50
+ method: get
51
+ uri: https://gamification-api.dev/v1/badges/safasuf2
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: 404
67
+ message: Not Found
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
+ Cache-Control:
80
+ - no-cache
81
+ X-Request-Id:
82
+ - 901aa21d-dd87-45c6-a6cb-c0a54973b6e1
83
+ X-Runtime:
84
+ - '0.017487'
85
+ Date:
86
+ - Thu, 19 Nov 2015 15:41:09 GMT
87
+ Connection:
88
+ - close
89
+ body:
90
+ encoding: UTF-8
91
+ string: '{"error":{"type":"invalid_request_error","message":"No badge exists
92
+ with id: safasuf2","status":404}}'
93
+ http_version:
94
+ recorded_at: Thu, 19 Nov 2015 15:41:09 GMT
47
95
  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/2/issue
5
+ uri: https://gamification-api.dev/v1/badges/2/issue
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: recipient=t.skarbek-wazynski
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: 404
23
23
  message: Not Found
24
24
  headers:
25
+ Strict-Transport-Security:
26
+ - max-age=31536000
25
27
  X-Frame-Options:
26
28
  - SAMEORIGIN
27
29
  X-Xss-Protection:
@@ -33,11 +35,11 @@ http_interactions:
33
35
  Cache-Control:
34
36
  - no-cache
35
37
  X-Request-Id:
36
- - 1ea889a7-b7d1-485c-bba0-065a3b337001
38
+ - 1714a0ea-6d5c-43e4-a75f-79cbcec385a1
37
39
  X-Runtime:
38
- - '0.021360'
40
+ - '0.020792'
39
41
  Date:
40
- - Thu, 03 Sep 2015 10:55:58 GMT
42
+ - Thu, 19 Nov 2015 15:41:29 GMT
41
43
  Connection:
42
44
  - close
43
45
  body:
@@ -46,5 +48,5 @@ http_interactions:
46
48
  user with specified data t.skarbek-wazynski. Recipient data must be a university
47
49
  email address, university card number or username.","status":404}}'
48
50
  http_version:
49
- recorded_at: Thu, 03 Sep 2015 10:55:58 GMT
51
+ recorded_at: Thu, 19 Nov 2015 15:41:29 GMT
50
52
  recorded_with: VCR 2.9.3
@@ -0,0 +1,107 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://gamification-api.dev/v1/badges/mega-book-worm/issue
6
+ body:
7
+ encoding: UTF-8
8
+ string: recipient=t.skarbek-wazynski%40lancaster.ac.uk
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Authorization:
13
+ - Token token="c9cde524238644fa93393159e5e9ad87"
14
+ Content-Type:
15
+ - application/x-www-form-urlencoded
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Strict-Transport-Security:
26
+ - max-age=31536000
27
+ X-Frame-Options:
28
+ - SAMEORIGIN
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ Content-Type:
34
+ - application/json; charset=utf-8
35
+ Etag:
36
+ - '"900ff07f719871ac8e35eaf466528bec"'
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - f4ffd0dc-4558-42fd-a586-2677d237b4b1
41
+ X-Runtime:
42
+ - '0.073706'
43
+ Date:
44
+ - Thu, 19 Nov 2015 15:41:29 GMT
45
+ Connection:
46
+ - close
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"total_score":75,"badges_total":2,"bronze_count":1,"silver_count":1,"gold_count":0,"platinum_count":0,"object":"recipient","badges":[{"name":"Book
50
+ Worm","description":"You have loaned out over 25 books. Nice going!","requirements":"Loan
51
+ 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","points":25,"object":"badge","issued_at":"2015-11-18T11:40:26.379Z","id":"book-worm"},{"name":"Mega
52
+ Book Worm","description":"You have loaned out 50 books.","requirements":"Loan
53
+ out 50 books","hint":"You must really like books...","image":"https://gamification-api.dev/badge_images/mega-book-worm/badge.png","collection_id":"library","created_at":"2015-11-18T11:40:05.068Z","updated_at":"2015-11-18T11:40:05.068Z","level":"silver","auto_issue":false,"status":"live","points":50,"object":"badge","issued_at":"2015-11-19T15:41:29.880Z","id":"mega-book-worm"}]}'
54
+ http_version:
55
+ recorded_at: Thu, 19 Nov 2015 15:41:29 GMT
56
+ - request:
57
+ method: post
58
+ uri: https://gamification-api.dev/v1/badges/mega-book-worm/revoke
59
+ body:
60
+ encoding: UTF-8
61
+ string: recipient=t.skarbek-wazynski%40lancaster.ac.uk
62
+ headers:
63
+ User-Agent:
64
+ - Faraday v0.9.2
65
+ Authorization:
66
+ - Token token="c9cde524238644fa93393159e5e9ad87"
67
+ Content-Type:
68
+ - application/x-www-form-urlencoded
69
+ Accept-Encoding:
70
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
71
+ Accept:
72
+ - "*/*"
73
+ response:
74
+ status:
75
+ code: 200
76
+ message: OK
77
+ headers:
78
+ Strict-Transport-Security:
79
+ - max-age=31536000
80
+ X-Frame-Options:
81
+ - SAMEORIGIN
82
+ X-Xss-Protection:
83
+ - 1; mode=block
84
+ X-Content-Type-Options:
85
+ - nosniff
86
+ Content-Type:
87
+ - application/json; charset=utf-8
88
+ Etag:
89
+ - '"365681d5132a5e92b7946178e30b2356"'
90
+ Cache-Control:
91
+ - max-age=0, private, must-revalidate
92
+ X-Request-Id:
93
+ - a26b801a-c182-4c18-bff1-d52aeda487e3
94
+ X-Runtime:
95
+ - '0.056401'
96
+ Date:
97
+ - Thu, 19 Nov 2015 15:41:30 GMT
98
+ Connection:
99
+ - close
100
+ body:
101
+ encoding: UTF-8
102
+ string: '{"total_score":25,"badges_total":1,"bronze_count":1,"silver_count":0,"gold_count":0,"platinum_count":0,"object":"recipient","badges":[{"name":"Book
103
+ Worm","description":"You have loaned out over 25 books. Nice going!","requirements":"Loan
104
+ 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","points":25,"object":"badge","issued_at":"2015-11-18T11:40:26.379Z","id":"book-worm"}]}'
105
+ http_version:
106
+ recorded_at: Thu, 19 Nov 2015 15:41:30 GMT
107
+ 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/3/issue
5
+ uri: https://gamification-api.dev/v1/badges/3/issue
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: recipient=0043181
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: 200
23
23
  message: OK
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,35 +33,35 @@ http_interactions:
31
33
  Content-Type:
32
34
  - application/json; charset=utf-8
33
35
  Etag:
34
- - '"845913965d1475617c6511780681bb54"'
36
+ - '"7fa307a20aa3c3c1124cf44839fead7b"'
35
37
  Cache-Control:
36
38
  - max-age=0, private, must-revalidate
37
39
  X-Request-Id:
38
- - 95fd1fb0-5e7f-488b-bd90-a25a43213edc
40
+ - c350884b-04d0-4519-b84d-eb9045d12e41
39
41
  X-Runtime:
40
- - '0.886957'
42
+ - '1.499314'
41
43
  Date:
42
- - Thu, 03 Sep 2015 10:55:59 GMT
44
+ - Thu, 19 Nov 2015 15:41:31 GMT
43
45
  Connection:
44
46
  - close
45
47
  body:
46
48
  encoding: UTF-8
47
49
  string: '{"total_score":50,"badges_total":2,"bronze_count":2,"silver_count":0,"gold_count":0,"platinum_count":0,"object":"recipient","badges":[{"name":"Book
48
50
  Worm","description":"You have loaned out over 25 books. Nice going!","requirements":"Loan
49
- 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","points":25,"object":"badge","issued_at":"2015-09-03T10:51:08.232Z","id":"book-worm"},{"name":"Night
51
+ 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","points":25,"object":"badge","issued_at":"2015-11-18T11:40:26.379Z","id":"book-worm"},{"name":"Night
50
52
  Owl","description":"You loaned a book out between Midnight and 5 o''clock","requirements":"Loan
51
- out a book between 00:00 - 5:00","hint":"It must be late...","image":"http://gamification-api.dev/badge_images/night-owl/badge.png","collection_id":"library","created_at":"2015-09-03T10:51:07.963Z","updated_at":"2015-09-03T10:51:07.963Z","level":"bronze","auto_issue":false,"status":"live","points":25,"object":"badge","issued_at":"2015-09-03T10:55:59.842Z","id":"night-owl"}]}'
53
+ out a book between 00:00 - 5:00","hint":"It must be late...","image":"https://gamification-api.dev/badge_images/night-owl/badge.png","collection_id":"library","created_at":"2015-11-18T11:40:10.176Z","updated_at":"2015-11-18T11:40:10.176Z","level":"bronze","auto_issue":false,"status":"live","points":25,"object":"badge","issued_at":"2015-11-19T15:41:31.641Z","id":"night-owl"}]}'
52
54
  http_version:
53
- recorded_at: Thu, 03 Sep 2015 10:55:59 GMT
55
+ recorded_at: Thu, 19 Nov 2015 15:41:31 GMT
54
56
  - request:
55
57
  method: post
56
- uri: http://gamification-api.dev/v1/badges/3/revoke
58
+ uri: https://gamification-api.dev/v1/badges/3/revoke
57
59
  body:
58
60
  encoding: UTF-8
59
61
  string: recipient=0043181
60
62
  headers:
61
63
  User-Agent:
62
- - Faraday v0.9.1
64
+ - Faraday v0.9.2
63
65
  Authorization:
64
66
  - Token token="c9cde524238644fa93393159e5e9ad87"
65
67
  Content-Type:
@@ -73,6 +75,8 @@ http_interactions:
73
75
  code: 200
74
76
  message: OK
75
77
  headers:
78
+ Strict-Transport-Security:
79
+ - max-age=31536000
76
80
  X-Frame-Options:
77
81
  - SAMEORIGIN
78
82
  X-Xss-Protection:
@@ -82,22 +86,22 @@ http_interactions:
82
86
  Content-Type:
83
87
  - application/json; charset=utf-8
84
88
  Etag:
85
- - '"b580cf4171303fd650475e570ec9458a"'
89
+ - '"365681d5132a5e92b7946178e30b2356"'
86
90
  Cache-Control:
87
91
  - max-age=0, private, must-revalidate
88
92
  X-Request-Id:
89
- - 7570a156-4f59-4ce7-8fbb-9c12e99eaacb
93
+ - 852d39f4-d688-4f9f-a269-374626e4f905
90
94
  X-Runtime:
91
- - '0.928547'
95
+ - '1.506485'
92
96
  Date:
93
- - Thu, 03 Sep 2015 10:56:00 GMT
97
+ - Thu, 19 Nov 2015 15:41:33 GMT
94
98
  Connection:
95
99
  - close
96
100
  body:
97
101
  encoding: UTF-8
98
102
  string: '{"total_score":25,"badges_total":1,"bronze_count":1,"silver_count":0,"gold_count":0,"platinum_count":0,"object":"recipient","badges":[{"name":"Book
99
103
  Worm","description":"You have loaned out over 25 books. Nice going!","requirements":"Loan
100
- 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","points":25,"object":"badge","issued_at":"2015-09-03T10:51:08.232Z","id":"book-worm"}]}'
104
+ 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","points":25,"object":"badge","issued_at":"2015-11-18T11:40:26.379Z","id":"book-worm"}]}'
101
105
  http_version:
102
- recorded_at: Thu, 03 Sep 2015 10:56:00 GMT
106
+ recorded_at: Thu, 19 Nov 2015 15:41:33 GMT
103
107
  recorded_with: VCR 2.9.3