edools-api 0.4.0 → 0.5.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/edools-api.gemspec +57 -11
  4. data/lib/edools.rb +2 -1
  5. data/lib/edools/base.rb +25 -0
  6. data/lib/edools/config.rb +2 -2
  7. data/lib/edools/core.rb +6 -1
  8. data/lib/edools/core/base.rb +3 -12
  9. data/lib/edools/core/course.rb +10 -0
  10. data/lib/edools/core/course_content.rb +15 -0
  11. data/lib/edools/core/course_module.rb +15 -0
  12. data/lib/edools/core/enrollment.rb +2 -2
  13. data/lib/edools/core/lesson.rb +10 -0
  14. data/lib/edools/core/media.rb +10 -0
  15. data/lib/edools/core/organization.rb +2 -2
  16. data/lib/edools/core/path.rb +10 -0
  17. data/lib/edools/core/registration.rb +2 -2
  18. data/lib/edools/core/school.rb +2 -2
  19. data/lib/edools/core/school_product.rb +2 -2
  20. data/lib/edools/core/session.rb +1 -1
  21. data/lib/edools/core/student.rb +2 -2
  22. data/lib/edools/ecommerce.rb +2 -0
  23. data/lib/edools/ecommerce/base.rb +8 -0
  24. data/lib/edools/ecommerce/product.rb +21 -0
  25. data/lib/edools/initialization.rb +4 -1
  26. data/lib/edools/paginated_collection.rb +37 -0
  27. data/spec/edools/core/course_content_spec.rb +35 -0
  28. data/spec/edools/core/course_module_spec.rb +35 -0
  29. data/spec/edools/core/course_spec.rb +36 -0
  30. data/spec/edools/core/enrollment_spec.rb +1 -3
  31. data/spec/edools/core/lesson_spec.rb +39 -0
  32. data/spec/edools/core/media_spec.rb +40 -0
  33. data/spec/edools/core/path_spec.rb +36 -0
  34. data/spec/edools/core/school_product_spec.rb +10 -6
  35. data/spec/edools/ecommerce/base_spec.rb +9 -0
  36. data/spec/edools/ecommerce/product_spec.rb +38 -0
  37. data/spec/fixtures/vcr_cassettes/Edools_Core_Course/create_the_course.yml +66 -0
  38. data/spec/fixtures/vcr_cassettes/Edools_Core_Course/destroy_the_course.yml +114 -0
  39. data/spec/fixtures/vcr_cassettes/Edools_Core_Course/finds_all_course.yml +146 -0
  40. data/spec/fixtures/vcr_cassettes/Edools_Core_Course/finds_the_course.yml +62 -0
  41. data/spec/fixtures/vcr_cassettes/Edools_Core_Course/update_the_course.yml +118 -0
  42. data/spec/fixtures/vcr_cassettes/{Edools_Core_SchoolClass/create_the_school_class.yml → Edools_Core_CourseContent/create_the_course_content.yml} +11 -11
  43. data/spec/fixtures/vcr_cassettes/{Edools_Core_SchoolClass/destroy_the_school_class.yml → Edools_Core_CourseContent/destroy_the_course_content.yml} +14 -14
  44. data/spec/fixtures/vcr_cassettes/Edools_Core_CourseContent/finds_all_course_content.yml +64 -0
  45. data/spec/fixtures/vcr_cassettes/{Edools_Core_SchoolClass/finds_the_school_class.yml → Edools_Core_CourseContent/finds_the_course_content.yml} +9 -9
  46. data/spec/fixtures/vcr_cassettes/{Edools_Core_SchoolClass/update_the_school_class.yml → Edools_Core_CourseContent/update_the_course_content.yml} +17 -17
  47. data/spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/create_the_course_module.yml +66 -0
  48. data/spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/destroy_the_course_module.yml +114 -0
  49. data/spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/finds_all_course_module.yml +78 -0
  50. data/spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/finds_the_course_module.yml +67 -0
  51. data/spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/update_the_course_module.yml +123 -0
  52. data/spec/fixtures/vcr_cassettes/Edools_Core_Lesson/create_the_lesson.yml +66 -0
  53. data/spec/fixtures/vcr_cassettes/Edools_Core_Lesson/destroy_the_lesson.yml +115 -0
  54. data/spec/fixtures/vcr_cassettes/Edools_Core_Lesson/finds_all_lesson.yml +154 -0
  55. data/spec/fixtures/vcr_cassettes/Edools_Core_Lesson/finds_the_lesson.yml +62 -0
  56. data/spec/fixtures/vcr_cassettes/Edools_Core_Lesson/update_the_lesson.yml +118 -0
  57. data/spec/fixtures/vcr_cassettes/Edools_Core_Media/create_the_media.yml +68 -0
  58. data/spec/fixtures/vcr_cassettes/Edools_Core_Media/destroy_the_media.yml +116 -0
  59. data/spec/fixtures/vcr_cassettes/Edools_Core_Media/finds_all_media.yml +212 -0
  60. data/spec/fixtures/vcr_cassettes/Edools_Core_Media/finds_the_media.yml +63 -0
  61. data/spec/fixtures/vcr_cassettes/Edools_Core_Media/update_the_media.yml +120 -0
  62. data/spec/fixtures/vcr_cassettes/Edools_Core_Path/create_the_path.yml +66 -0
  63. data/spec/fixtures/vcr_cassettes/Edools_Core_Path/destroy_the_path.yml +114 -0
  64. data/spec/fixtures/vcr_cassettes/Edools_Core_Path/finds_all_path.yml +78 -0
  65. data/spec/fixtures/vcr_cassettes/{Edools_Core_SchoolClass/finds_all_school_class.yml → Edools_Core_Path/finds_the_path.yml} +11 -10
  66. data/spec/fixtures/vcr_cassettes/Edools_Core_Path/update_the_path.yml +117 -0
  67. data/spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/create_the_school_product.yml +11 -11
  68. data/spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/destroy_the_school_product.yml +17 -16
  69. data/spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/finds_all_school_product.yml +173 -125
  70. data/spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/finds_the_school_product.yml +10 -10
  71. data/spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/update_the_school_product.yml +18 -18
  72. data/spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/create_the_product.yml +65 -0
  73. data/spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/destroy_the_product.yml +114 -0
  74. data/spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/finds_all_product.yml +179 -0
  75. data/spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/finds_the_product.yml +62 -0
  76. data/spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/update_the_product.yml +117 -0
  77. metadata +56 -10
  78. data/lib/edools/core/paginated_collection.rb +0 -30
  79. data/lib/edools/core/school_class.rb +0 -14
  80. data/spec/edools/core/school_class_spec.rb +0 -35
@@ -0,0 +1,62 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://core.edools.com/lessons/52232.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.edools.core.v1+json
12
+ Authorization:
13
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Security-Policy-Report-Only:
26
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
27
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
28
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
29
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
30
+ Content-Type:
31
+ - application/vnd.edools.core.v1+json; charset=utf-8
32
+ Date:
33
+ - Mon, 06 Jul 2015 19:27:19 GMT
34
+ Etag:
35
+ - '"e7458d3cba9e730e536d6616100deee7"'
36
+ Server:
37
+ - nginx/1.4.7
38
+ Status:
39
+ - 200 OK
40
+ Strict-Transport-Security:
41
+ - max-age=631152000; includeSubdomains
42
+ X-Content-Type-Options:
43
+ - nosniff
44
+ X-Frame-Options:
45
+ - DENY
46
+ X-Request-Id:
47
+ - a8f28b1f-d385-434a-b57a-0bb506b1f9b2
48
+ X-Runtime:
49
+ - '0.101895'
50
+ X-Xss-Protection:
51
+ - 1; mode=block
52
+ Transfer-Encoding:
53
+ - chunked
54
+ Connection:
55
+ - keep-alive
56
+ body:
57
+ encoding: UTF-8
58
+ string: '{"id":52232,"title":"Edools API Test","type":"ContentLesson","available":null,"description":null,"release_at":null,"release_after":null,"created_at":"2015-07-06
59
+ 19:26:40 UTC","updated_at":"2015-07-06 19:26:40 UTC","media":null,"library_resource":{"id":121418,"library":{"id":2},"library_tags":[]},"courses":[]}'
60
+ http_version:
61
+ recorded_at: Mon, 06 Jul 2015 19:27:19 GMT
62
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,118 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://core.edools.com/lessons/52232.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.edools.core.v1+json
12
+ Authorization:
13
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Security-Policy-Report-Only:
26
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
27
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
28
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
29
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
30
+ Content-Type:
31
+ - application/vnd.edools.core.v1+json; charset=utf-8
32
+ Date:
33
+ - Mon, 06 Jul 2015 19:27:19 GMT
34
+ Etag:
35
+ - '"e7458d3cba9e730e536d6616100deee7"'
36
+ Server:
37
+ - nginx/1.4.7
38
+ Status:
39
+ - 200 OK
40
+ Strict-Transport-Security:
41
+ - max-age=631152000; includeSubdomains
42
+ X-Content-Type-Options:
43
+ - nosniff
44
+ X-Frame-Options:
45
+ - DENY
46
+ X-Request-Id:
47
+ - 4021a012-0fa8-4c61-89ca-288bbbc88335
48
+ X-Runtime:
49
+ - '0.228810'
50
+ X-Xss-Protection:
51
+ - 1; mode=block
52
+ Content-Length:
53
+ - '310'
54
+ Connection:
55
+ - keep-alive
56
+ body:
57
+ encoding: UTF-8
58
+ string: '{"id":52232,"title":"Edools API Test","type":"ContentLesson","available":null,"description":null,"release_at":null,"release_after":null,"created_at":"2015-07-06
59
+ 19:26:40 UTC","updated_at":"2015-07-06 19:26:40 UTC","media":null,"library_resource":{"id":121418,"library":{"id":2},"library_tags":[]},"courses":[]}'
60
+ http_version:
61
+ recorded_at: Mon, 06 Jul 2015 19:27:19 GMT
62
+ - request:
63
+ method: put
64
+ uri: https://core.edools.com/lessons/52232.json
65
+ body:
66
+ encoding: UTF-8
67
+ string: '{"lesson":{"id":52232,"title":"Edools API Test","type":"ContentLesson","available":null,"description":"Edools
68
+ API Test","release_at":null,"release_after":null,"created_at":"2015-07-06
69
+ 19:26:40 UTC","updated_at":"2015-07-06 19:26:40 UTC","media":null,"library_resource":{"id":121418,"library":{"id":2},"library_tags":[]},"courses":[]}}'
70
+ headers:
71
+ Content-Type:
72
+ - application/json
73
+ Authorization:
74
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
75
+ Accept:
76
+ - application/vnd.edools.core.v1+json
77
+ Accept-Encoding:
78
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
79
+ User-Agent:
80
+ - Ruby
81
+ response:
82
+ status:
83
+ code: 204
84
+ message: No Content
85
+ headers:
86
+ Cache-Control:
87
+ - no-cache
88
+ Content-Security-Policy-Report-Only:
89
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
90
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
91
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
92
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
93
+ Date:
94
+ - Mon, 06 Jul 2015 19:27:20 GMT
95
+ Server:
96
+ - nginx/1.4.7
97
+ Status:
98
+ - 204 No Content
99
+ Strict-Transport-Security:
100
+ - max-age=631152000; includeSubdomains
101
+ X-Content-Type-Options:
102
+ - nosniff
103
+ X-Frame-Options:
104
+ - DENY
105
+ X-Request-Id:
106
+ - 81eb88ec-381e-4064-9a80-dc826ca42aca
107
+ X-Runtime:
108
+ - '0.090522'
109
+ X-Xss-Protection:
110
+ - 1; mode=block
111
+ Connection:
112
+ - keep-alive
113
+ body:
114
+ encoding: UTF-8
115
+ string: ''
116
+ http_version:
117
+ recorded_at: Mon, 06 Jul 2015 19:27:20 GMT
118
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,68 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://core.edools.com/media.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"media":{"title":"Edools API Test","type":"Text","text":"Edools API
9
+ Test Text"}}'
10
+ headers:
11
+ Content-Type:
12
+ - application/json
13
+ Authorization:
14
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
15
+ Accept:
16
+ - application/vnd.edools.core.v1+json
17
+ Accept-Encoding:
18
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 201
24
+ message: Created
25
+ headers:
26
+ Cache-Control:
27
+ - max-age=0, private, must-revalidate
28
+ Content-Security-Policy-Report-Only:
29
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
30
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
31
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
32
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
33
+ Content-Type:
34
+ - application/vnd.edools.core.v1+json; charset=utf-8
35
+ Date:
36
+ - Mon, 06 Jul 2015 19:31:41 GMT
37
+ Etag:
38
+ - '"76f227162213be1568efbf07be47283e"'
39
+ Location:
40
+ - https://core.edools.com/media/54344
41
+ Server:
42
+ - nginx/1.4.7
43
+ Status:
44
+ - 201 Created
45
+ Strict-Transport-Security:
46
+ - max-age=631152000; includeSubdomains
47
+ X-Content-Type-Options:
48
+ - nosniff
49
+ X-Frame-Options:
50
+ - DENY
51
+ X-Request-Id:
52
+ - 907784aa-c2e0-4ef0-a34f-92c527f4ca66
53
+ X-Runtime:
54
+ - '0.170270'
55
+ X-Xss-Protection:
56
+ - 1; mode=block
57
+ Content-Length:
58
+ - '472'
59
+ Connection:
60
+ - keep-alive
61
+ body:
62
+ encoding: UTF-8
63
+ string: '{"id":54344,"type":"Text","title":"Edools API Test","description":null,"host":null,"host_key":null,"status":"ready","message":null,"created_at":"2015-07-06
64
+ 19:31:41 UTC","updated_at":"2015-07-06 19:31:41 UTC","samba_player_key":"154f766fe4bdcf7cd6730542a851372b","usage_count":0,"text":"Edools
65
+ API Test Text","lesson_ids":[],"extra_content_ids":[],"library_resource":{"id":121419,"library":{"id":2,"samba_player_key":"154f766fe4bdcf7cd6730542a851372b"},"library_tags":[]}}'
66
+ http_version:
67
+ recorded_at: Mon, 06 Jul 2015 19:31:41 GMT
68
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,116 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://core.edools.com/media/54344.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.edools.core.v1+json
12
+ Authorization:
13
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Security-Policy-Report-Only:
26
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
27
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
28
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
29
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
30
+ Content-Type:
31
+ - application/vnd.edools.core.v1+json; charset=utf-8
32
+ Date:
33
+ - Mon, 06 Jul 2015 19:32:39 GMT
34
+ Etag:
35
+ - '"0c0113ea52de04c86aeceb21319b1be7"'
36
+ Server:
37
+ - nginx/1.4.7
38
+ Status:
39
+ - 200 OK
40
+ Strict-Transport-Security:
41
+ - max-age=631152000; includeSubdomains
42
+ X-Content-Type-Options:
43
+ - nosniff
44
+ X-Frame-Options:
45
+ - DENY
46
+ X-Request-Id:
47
+ - c667a645-4c3e-49b7-b2db-be051493f36b
48
+ X-Runtime:
49
+ - '0.073112'
50
+ X-Xss-Protection:
51
+ - 1; mode=block
52
+ Content-Length:
53
+ - '485'
54
+ Connection:
55
+ - keep-alive
56
+ body:
57
+ encoding: UTF-8
58
+ string: '{"id":54344,"type":"Text","title":"Edools API Test","description":"Edools
59
+ API Test","host":null,"host_key":null,"status":"ready","message":null,"created_at":"2015-07-06
60
+ 19:31:41 UTC","updated_at":"2015-07-06 19:32:35 UTC","samba_player_key":"154f766fe4bdcf7cd6730542a851372b","usage_count":0,"text":"Edools
61
+ API Test Text","lesson_ids":[],"extra_content_ids":[],"library_resource":{"id":121419,"library":{"id":2,"samba_player_key":"154f766fe4bdcf7cd6730542a851372b"},"library_tags":[]}}'
62
+ http_version:
63
+ recorded_at: Mon, 06 Jul 2015 19:32:39 GMT
64
+ - request:
65
+ method: delete
66
+ uri: https://core.edools.com/media/54344.json
67
+ body:
68
+ encoding: US-ASCII
69
+ string: ''
70
+ headers:
71
+ Accept:
72
+ - application/vnd.edools.core.v1+json
73
+ Authorization:
74
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
75
+ Accept-Encoding:
76
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
77
+ User-Agent:
78
+ - Ruby
79
+ response:
80
+ status:
81
+ code: 204
82
+ message: No Content
83
+ headers:
84
+ Cache-Control:
85
+ - no-cache
86
+ Content-Security-Policy-Report-Only:
87
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
88
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
89
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
90
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
91
+ Date:
92
+ - Mon, 06 Jul 2015 19:32:40 GMT
93
+ Server:
94
+ - nginx/1.4.7
95
+ Status:
96
+ - 204 No Content
97
+ Strict-Transport-Security:
98
+ - max-age=631152000; includeSubdomains
99
+ X-Content-Type-Options:
100
+ - nosniff
101
+ X-Frame-Options:
102
+ - DENY
103
+ X-Request-Id:
104
+ - 8f1e7727-f42b-45b3-ae6c-e74368914c6c
105
+ X-Runtime:
106
+ - '0.087759'
107
+ X-Xss-Protection:
108
+ - 1; mode=block
109
+ Connection:
110
+ - keep-alive
111
+ body:
112
+ encoding: UTF-8
113
+ string: ''
114
+ http_version:
115
+ recorded_at: Mon, 06 Jul 2015 19:32:40 GMT
116
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,212 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://core.edools.com/media.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.edools.core.v1+json
12
+ Authorization:
13
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - max-age=0, private, must-revalidate
25
+ Content-Security-Policy-Report-Only:
26
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
27
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
28
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
29
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
30
+ Content-Type:
31
+ - application/vnd.edools.core.v1+json; charset=utf-8
32
+ Date:
33
+ - Mon, 06 Jul 2015 19:31:40 GMT
34
+ Etag:
35
+ - '"bcbac2ade547e731ff15c2a100020ded"'
36
+ Server:
37
+ - nginx/1.4.7
38
+ Status:
39
+ - 200 OK
40
+ Strict-Transport-Security:
41
+ - max-age=631152000; includeSubdomains
42
+ X-Content-Type-Options:
43
+ - nosniff
44
+ X-Frame-Options:
45
+ - DENY
46
+ X-Request-Id:
47
+ - 0738d9d7-b959-47e8-be0d-d598a57f57b6
48
+ X-Runtime:
49
+ - '0.605039'
50
+ X-Xss-Protection:
51
+ - 1; mode=block
52
+ Content-Length:
53
+ - '6757'
54
+ Connection:
55
+ - keep-alive
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: !binary |-
59
+ eyJtZWRpYSI6W3siaWQiOjUzODM5LCJ0eXBlIjoiVmlkZW8iLCJ0aXRsZSI6
60
+ IlZpZGVvLXRlc3RlLUJhc2UiLCJkZXNjcmlwdGlvbiI6bnVsbCwiaG9zdCI6
61
+ Ildpc3RpYSIsImhvc3Rfa2V5IjoibnN5Z2pzc2pqNyIsInN0YXR1cyI6InJl
62
+ YWR5IiwibWVzc2FnZSI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTUtMDYtMjUg
63
+ MTk6MDc6NTMgVVRDIiwidXBkYXRlZF9hdCI6IjIwMTUtMDYtMjUgMTk6MDk6
64
+ MTkgVVRDIiwic2FtYmFfcGxheWVyX2tleSI6IjE1NGY3NjZmZTRiZGNmN2Nk
65
+ NjczMDU0MmE4NTEzNzJiIiwidXNhZ2VfY291bnQiOjAsImxlc3Nvbl9pZHMi
66
+ OltdLCJleHRyYV9jb250ZW50X2lkcyI6W10sImxpYnJhcnlfcmVzb3VyY2Ui
67
+ OnsiaWQiOjExOTUwMiwibGlicmFyeSI6eyJpZCI6Miwic2FtYmFfcGxheWVy
68
+ X2tleSI6IjE1NGY3NjZmZTRiZGNmN2NkNjczMDU0MmE4NTEzNzJiIn0sImxp
69
+ YnJhcnlfdGFncyI6W119fSx7ImlkIjo1MzQ4NSwidHlwZSI6IlRleHQiLCJ0
70
+ aXRsZSI6ImVtYmVkIiwiZGVzY3JpcHRpb24iOm51bGwsImhvc3QiOm51bGws
71
+ Imhvc3Rfa2V5IjpudWxsLCJzdGF0dXMiOiJyZWFkeSIsIm1lc3NhZ2UiOm51
72
+ bGwsImNyZWF0ZWRfYXQiOiIyMDE1LTA2LTE4IDE4OjMwOjM4IFVUQyIsInVw
73
+ ZGF0ZWRfYXQiOiIyMDE1LTA2LTE4IDE4OjMwOjM4IFVUQyIsInNhbWJhX3Bs
74
+ YXllcl9rZXkiOiIxNTRmNzY2ZmU0YmRjZjdjZDY3MzA1NDJhODUxMzcyYiIs
75
+ InVzYWdlX2NvdW50IjowLCJ0ZXh0IjoiPHA+PGlmcmFtZSBhbGxvd2Z1bGxz
76
+ Y3JlZW49XCJcIiBmcmFtZWJvcmRlcj1cIjBcIiBoZWlnaHQ9XCIzMTVcIiBz
77
+ cmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9JUi1CbW9BQmUw
78
+ Y1wiIHdpZHRoPVwiNTYwXCI+PC9pZnJhbWU+PGlmcmFtZSBmcmFtZWJvcmRl
79
+ cj1cIjBcIiBoZWlnaHQ9XCI1MDBcIiBtYXJnaW5oZWlnaHQ9XCIwXCIgbWFy
80
+ Z2lud2lkdGg9XCIwXCIgc3JjPVwiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20v
81
+ YS9lZG9vbHMuY29tL2Zvcm1zL2QvMTFmNmpPdnFPM1M4OE9xcjBWLUpjeFV6
82
+ YjR2REFlSEs0eU91b1BmN0l0QkUvdmlld2Zvcm0/ZW1iZWRkZWQ9dHJ1ZVwi
83
+ IHdpZHRoPVwiNzYwXCI+Q2FycmVnYW5kby4uLjwvaWZyYW1lPjwvcD5cbiIs
84
+ Imxlc3Nvbl9pZHMiOltdLCJleHRyYV9jb250ZW50X2lkcyI6W10sImxpYnJh
85
+ cnlfcmVzb3VyY2UiOnsiaWQiOjExNzQyNCwibGlicmFyeSI6eyJpZCI6Miwi
86
+ c2FtYmFfcGxheWVyX2tleSI6IjE1NGY3NjZmZTRiZGNmN2NkNjczMDU0MmE4
87
+ NTEzNzJiIn0sImxpYnJhcnlfdGFncyI6W119fSx7ImlkIjo1MzQ2OCwidHlw
88
+ ZSI6IlZpZGVvU2xpZGUiLCJ0aXRsZSI6Im1ldSBwcmltZWlybyB2aWRlbyBz
89
+ bGlkZSIsImRlc2NyaXB0aW9uIjpudWxsLCJob3N0IjpudWxsLCJob3N0X2tl
90
+ eSI6IjZkMTc2NGI1YjBhNTUyMDEyMjQ4ZTgwZDUzZDY2ZmFhIiwic3RhdHVz
91
+ IjoicmVhZHkiLCJtZXNzYWdlIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxNS0w
92
+ Ni0xOCAxNToxNTo1NCBVVEMiLCJ1cGRhdGVkX2F0IjoiMjAxNS0wNi0xOCAx
93
+ NToxNTo1NCBVVEMiLCJzYW1iYV9wbGF5ZXJfa2V5IjoiMTU0Zjc2NmZlNGJk
94
+ Y2Y3Y2Q2NzMwNTQyYTg1MTM3MmIiLCJ1c2FnZV9jb3VudCI6MCwibGVzc29u
95
+ X2lkcyI6W10sImV4dHJhX2NvbnRlbnRfaWRzIjpbXSwidmlkZW9faWQiOjE3
96
+ MjQ1LCJsaWJyYXJ5X3Jlc291cmNlIjp7ImlkIjoxMTczMDUsImxpYnJhcnki
97
+ OnsiaWQiOjIsInNhbWJhX3BsYXllcl9rZXkiOiIxNTRmNzY2ZmU0YmRjZjdj
98
+ ZDY3MzA1NDJhODUxMzcyYiJ9LCJsaWJyYXJ5X3RhZ3MiOltdfSwidmlkZW8i
99
+ OnsiaG9zdF9rZXkiOiI2ZDE3NjRiNWIwYTU1MjAxMjI0OGU4MGQ1M2Q2NmZh
100
+ YSIsImhvc3QiOiJTYW1iYSIsInNhbWJhX3BsYXllcl9rZXkiOiIxNTRmNzY2
101
+ ZmU0YmRjZjdjZDY3MzA1NDJhODUxMzcyYiIsImR1cmF0aW9uIjpudWxsLCJs
102
+ aWJyYXJ5X3Jlc291cmNlIjp7ImxpYnJhcnkiOnsic2FtYmFfcGxheWVyX2tl
103
+ eSI6IjE1NGY3NjZmZTRiZGNmN2NkNjczMDU0MmE4NTEzNzJiIn19fSwidmlk
104
+ ZW9fc2xpZGVfc3luY3MiOlt7ImlkIjoyNjY5LCJpbWFnZV9pZCI6NTM0Njcs
105
+ InN5bmNfYXQiOjEwLjAsImltYWdlIjp7InMzX2ZpbGVfdXJsIjoiaHR0cHM6
106
+ Ly9zMy5hbWF6b25hd3MuY29tL2NvcmVfcHJvZC9vcmctOCUyRnNjaG9vbC0y
107
+ MjQlMkY3OTNmY2E2M2QyODRhNDBiMzg3Y2NmYmYwMzNiOWJlOSUyRkNhcHR1
108
+ cmErZGUrVGVsYSsyMDE1LTA1LTEzKyVDMyVBMHMrMTEuMzguNDMucG5nIn19
109
+ XX0seyJpZCI6NTM0NjcsInR5cGUiOiJJbWFnZSIsInRpdGxlIjoiQ2FwdHVy
110
+ YSBkZSBUZWxhIDIwMTUtMDUtMTMgYcyAcyAxMS4zOC40My5wbmciLCJkZXNj
111
+ cmlwdGlvbiI6bnVsbCwiaG9zdCI6bnVsbCwiaG9zdF9rZXkiOm51bGwsInN0
112
+ YXR1cyI6InJlYWR5IiwibWVzc2FnZSI6bnVsbCwiY3JlYXRlZF9hdCI6IjIw
113
+ MTUtMDYtMTggMTU6MTU6MzkgVVRDIiwidXBkYXRlZF9hdCI6IjIwMTUtMDYt
114
+ MTggMTU6MTU6MzkgVVRDIiwic2FtYmFfcGxheWVyX2tleSI6IjE1NGY3NjZm
115
+ ZTRiZGNmN2NkNjczMDU0MmE4NTEzNzJiIiwidXNhZ2VfY291bnQiOjAsImxl
116
+ c3Nvbl9pZHMiOltdLCJleHRyYV9jb250ZW50X2lkcyI6W10sInMzX2ZpbGVf
117
+ dXJsIjoiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2NvcmVfcHJvZC9vcmct
118
+ OCUyRnNjaG9vbC0yMjQlMkY3OTNmY2E2M2QyODRhNDBiMzg3Y2NmYmYwMzNi
119
+ OWJlOSUyRkNhcHR1cmErZGUrVGVsYSsyMDE1LTA1LTEzKyVDMyVBMHMrMTEu
120
+ MzguNDMucG5nIiwiaGVpZ2h0IjpudWxsLCJ3aWR0aCI6bnVsbCwibGlicmFy
121
+ eV9yZXNvdXJjZSI6eyJpZCI6MTE3MzA0LCJsaWJyYXJ5Ijp7ImlkIjoyLCJz
122
+ YW1iYV9wbGF5ZXJfa2V5IjoiMTU0Zjc2NmZlNGJkY2Y3Y2Q2NzMwNTQyYTg1
123
+ MTM3MmIifSwibGlicmFyeV90YWdzIjpbXX19LHsiaWQiOjUzNDYzLCJ0eXBl
124
+ IjoiSW1hZ2UiLCJ0aXRsZSI6ImFwcHMgMyIsImRlc2NyaXB0aW9uIjpudWxs
125
+ LCJob3N0IjpudWxsLCJob3N0X2tleSI6bnVsbCwic3RhdHVzIjoicmVhZHki
126
+ LCJtZXNzYWdlIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxNS0wNi0xOCAxMjo1
127
+ Njo0MCBVVEMiLCJ1cGRhdGVkX2F0IjoiMjAxNS0wNi0yOSAxMjozMTozMSBV
128
+ VEMiLCJzYW1iYV9wbGF5ZXJfa2V5IjoiMTU0Zjc2NmZlNGJkY2Y3Y2Q2NzMw
129
+ NTQyYTg1MTM3MmIiLCJ1c2FnZV9jb3VudCI6MSwibGVzc29uX2lkcyI6W10s
130
+ ImV4dHJhX2NvbnRlbnRfaWRzIjpbXSwiczNfZmlsZV91cmwiOiJodHRwczov
131
+ L3MzLmFtYXpvbmF3cy5jb20vY29yZV9wcm9kL29yZy04JTJGc2Nob29sLTIy
132
+ NCUyRjY1Mjk5ODA3ODMzZDQwMTY3OTMzNTNlMDg1M2EzOWZkJTJGQ2FwdHVy
133
+ YStkZStUZWxhKzIwMTUtMDUtMTMrJUMzJUEwcysxMS4zOC40My5wbmciLCJo
134
+ ZWlnaHQiOm51bGwsIndpZHRoIjpudWxsLCJsaWJyYXJ5X3Jlc291cmNlIjp7
135
+ ImlkIjoxMTcyOTUsImxpYnJhcnkiOnsiaWQiOjIsInNhbWJhX3BsYXllcl9r
136
+ ZXkiOiIxNTRmNzY2ZmU0YmRjZjdjZDY3MzA1NDJhODUxMzcyYiJ9LCJsaWJy
137
+ YXJ5X3RhZ3MiOltdfX0seyJpZCI6NTM0NjIsInR5cGUiOiJJbWFnZSIsInRp
138
+ dGxlIjoiYXBwcyAyIiwiZGVzY3JpcHRpb24iOm51bGwsImhvc3QiOm51bGws
139
+ Imhvc3Rfa2V5IjpudWxsLCJzdGF0dXMiOiJyZWFkeSIsIm1lc3NhZ2UiOm51
140
+ bGwsImNyZWF0ZWRfYXQiOiIyMDE1LTA2LTE4IDEyOjU1OjI2IFVUQyIsInVw
141
+ ZGF0ZWRfYXQiOiIyMDE1LTA2LTE4IDEyOjU1OjI2IFVUQyIsInNhbWJhX3Bs
142
+ YXllcl9rZXkiOiIxNTRmNzY2ZmU0YmRjZjdjZDY3MzA1NDJhODUxMzcyYiIs
143
+ InVzYWdlX2NvdW50IjowLCJsZXNzb25faWRzIjpbXSwiZXh0cmFfY29udGVu
144
+ dF9pZHMiOltdLCJzM19maWxlX3VybCI6Imh0dHBzOi8vczMuYW1hem9uYXdz
145
+ LmNvbS9jb3JlX3Byb2Qvb3JnLTglMkZzY2hvb2wtMjI0JTJGZWMwNzI0MWQw
146
+ YTU0MzRkODBjZjQzYTdmODUzYmQ0ZjUlMkZDYXB0dXJhK2RlK1RlbGErMjAx
147
+ NS0wNS0xMyslQzMlQTBzKzExLjM4LjQzLnBuZyIsImhlaWdodCI6bnVsbCwi
148
+ d2lkdGgiOm51bGwsImxpYnJhcnlfcmVzb3VyY2UiOnsiaWQiOjExNzI5MSwi
149
+ bGlicmFyeSI6eyJpZCI6Miwic2FtYmFfcGxheWVyX2tleSI6IjE1NGY3NjZm
150
+ ZTRiZGNmN2NkNjczMDU0MmE4NTEzNzJiIn0sImxpYnJhcnlfdGFncyI6W119
151
+ fSx7ImlkIjo1MzQ2MSwidHlwZSI6IkltYWdlIiwidGl0bGUiOiJhcHBzIiwi
152
+ ZGVzY3JpcHRpb24iOm51bGwsImhvc3QiOm51bGwsImhvc3Rfa2V5IjpudWxs
153
+ LCJzdGF0dXMiOiJyZWFkeSIsIm1lc3NhZ2UiOm51bGwsImNyZWF0ZWRfYXQi
154
+ OiIyMDE1LTA2LTE4IDEyOjU0OjIyIFVUQyIsInVwZGF0ZWRfYXQiOiIyMDE1
155
+ LTA2LTE4IDEyOjU0OjIyIFVUQyIsInNhbWJhX3BsYXllcl9rZXkiOiIxNTRm
156
+ NzY2ZmU0YmRjZjdjZDY3MzA1NDJhODUxMzcyYiIsInVzYWdlX2NvdW50Ijow
157
+ LCJsZXNzb25faWRzIjpbXSwiZXh0cmFfY29udGVudF9pZHMiOltdLCJzM19m
158
+ aWxlX3VybCI6Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9jb3JlX3Byb2Qv
159
+ b3JnLTglMkZzY2hvb2wtMjI0JTJGMjljYzYwN2Q2ZmIxNTk5NWM2OThmMjI2
160
+ NzY4YmQ0OWQlMkZDYXB0dXJhK2RlK1RlbGErMjAxNS0wNS0xMyslQzMlQTBz
161
+ KzExLjM4LjQzLnBuZyIsImhlaWdodCI6bnVsbCwid2lkdGgiOm51bGwsImxp
162
+ YnJhcnlfcmVzb3VyY2UiOnsiaWQiOjExNzI5MCwibGlicmFyeSI6eyJpZCI6
163
+ Miwic2FtYmFfcGxheWVyX2tleSI6IjE1NGY3NjZmZTRiZGNmN2NkNjczMDU0
164
+ MmE4NTEzNzJiIn0sImxpYnJhcnlfdGFncyI6W119fSx7ImlkIjo1MzQ0NCwi
165
+ dHlwZSI6IkltYWdlIiwidGl0bGUiOiJpbWFnZW0gdGVzdGUiLCJkZXNjcmlw
166
+ dGlvbiI6bnVsbCwiaG9zdCI6bnVsbCwiaG9zdF9rZXkiOm51bGwsInN0YXR1
167
+ cyI6InJlYWR5IiwibWVzc2FnZSI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMTUt
168
+ MDYtMTcgMTY6Mjk6NTUgVVRDIiwidXBkYXRlZF9hdCI6IjIwMTUtMDYtMTcg
169
+ MTY6Mjk6NTUgVVRDIiwic2FtYmFfcGxheWVyX2tleSI6IjE1NGY3NjZmZTRi
170
+ ZGNmN2NkNjczMDU0MmE4NTEzNzJiIiwidXNhZ2VfY291bnQiOjAsImxlc3Nv
171
+ bl9pZHMiOltdLCJleHRyYV9jb250ZW50X2lkcyI6W10sInMzX2ZpbGVfdXJs
172
+ IjoiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2NvcmVfcHJvZC9vcmctOCUy
173
+ RnNjaG9vbC0yMjQlMkZkY2I1NjVhMjE2YTNkYWY1ZmMwNjc5ZTQ1OTJmNmJm
174
+ YSUyRkNhcHR1cmErZGUrVGVsYSsyMDE1LTA2LTA5KyVDMyVBMHMrMTEuNTQu
175
+ NDEucG5nIiwiaGVpZ2h0IjpudWxsLCJ3aWR0aCI6bnVsbCwibGlicmFyeV9y
176
+ ZXNvdXJjZSI6eyJpZCI6MTE3MTYwLCJsaWJyYXJ5Ijp7ImlkIjoyLCJzYW1i
177
+ YV9wbGF5ZXJfa2V5IjoiMTU0Zjc2NmZlNGJkY2Y3Y2Q2NzMwNTQyYTg1MTM3
178
+ MmIifSwibGlicmFyeV90YWdzIjpbXX19LHsiaWQiOjUzMzQwLCJ0eXBlIjoi
179
+ SW1hZ2UiLCJ0aXRsZSI6IkNhcHR1cmEgZGUgVGVsYSAyMDE1LTA2LTE1IGHM
180
+ gHMgMDkuNTkuMDgucG5nIiwiZGVzY3JpcHRpb24iOm51bGwsImhvc3QiOm51
181
+ bGwsImhvc3Rfa2V5IjpudWxsLCJzdGF0dXMiOiJyZWFkeSIsIm1lc3NhZ2Ui
182
+ Om51bGwsImNyZWF0ZWRfYXQiOiIyMDE1LTA2LTE2IDE1OjEzOjM0IFVUQyIs
183
+ InVwZGF0ZWRfYXQiOiIyMDE1LTA2LTE2IDE1OjEzOjM0IFVUQyIsInNhbWJh
184
+ X3BsYXllcl9rZXkiOiIxNTRmNzY2ZmU0YmRjZjdjZDY3MzA1NDJhODUxMzcy
185
+ YiIsInVzYWdlX2NvdW50IjowLCJsZXNzb25faWRzIjpbXSwiZXh0cmFfY29u
186
+ dGVudF9pZHMiOltdLCJzM19maWxlX3VybCI6Imh0dHBzOi8vczMuYW1hem9u
187
+ YXdzLmNvbS9jb3JlX3Byb2Qvb3JnLTglMkZzY2hvb2wtMjI0JTJGZTcyYjhm
188
+ NmViNmI4MTc5ZjRkNjcyMTljY2MwZTJlN2UlMkZDYXB0dXJhK2RlK1RlbGEr
189
+ MjAxNS0wNi0xNSslQzMlQTBzKzA5LjU5LjA4LnBuZyIsImhlaWdodCI6bnVs
190
+ bCwid2lkdGgiOm51bGwsImxpYnJhcnlfcmVzb3VyY2UiOnsiaWQiOjExNjkz
191
+ NSwibGlicmFyeSI6eyJpZCI6Miwic2FtYmFfcGxheWVyX2tleSI6IjE1NGY3
192
+ NjZmZTRiZGNmN2NkNjczMDU0MmE4NTEzNzJiIn0sImxpYnJhcnlfdGFncyI6
193
+ W119fSx7ImlkIjo1MzMzOSwidHlwZSI6IkltYWdlIiwidGl0bGUiOiJDYXB0
194
+ dXJhIGRlIFRlbGEgMjAxNS0wNi0xMiBhzIBzIDEyLjA3LjAyLnBuZyIsImRl
195
+ c2NyaXB0aW9uIjpudWxsLCJob3N0IjpudWxsLCJob3N0X2tleSI6bnVsbCwi
196
+ c3RhdHVzIjoicmVhZHkiLCJtZXNzYWdlIjpudWxsLCJjcmVhdGVkX2F0Ijoi
197
+ MjAxNS0wNi0xNiAxNToxMzozNCBVVEMiLCJ1cGRhdGVkX2F0IjoiMjAxNS0w
198
+ Ni0xNiAxNToxMzozNCBVVEMiLCJzYW1iYV9wbGF5ZXJfa2V5IjoiMTU0Zjc2
199
+ NmZlNGJkY2Y3Y2Q2NzMwNTQyYTg1MTM3MmIiLCJ1c2FnZV9jb3VudCI6MCwi
200
+ bGVzc29uX2lkcyI6W10sImV4dHJhX2NvbnRlbnRfaWRzIjpbXSwiczNfZmls
201
+ ZV91cmwiOiJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vY29yZV9wcm9kL29y
202
+ Zy04JTJGc2Nob29sLTIyNCUyRmU3MmI4ZjZlYjZiODE3OWY0ZDY3MjE5Y2Nj
203
+ MGUyZTdlJTJGQ2FwdHVyYStkZStUZWxhKzIwMTUtMDYtMTIrJUMzJUEwcysx
204
+ Mi4wNy4wMi5wbmciLCJoZWlnaHQiOm51bGwsIndpZHRoIjpudWxsLCJsaWJy
205
+ YXJ5X3Jlc291cmNlIjp7ImlkIjoxMTY5MzQsImxpYnJhcnkiOnsiaWQiOjIs
206
+ InNhbWJhX3BsYXllcl9rZXkiOiIxNTRmNzY2ZmU0YmRjZjdjZDY3MzA1NDJh
207
+ ODUxMzcyYiJ9LCJsaWJyYXJ5X3RhZ3MiOltdfX1dLCJjdXJyZW50X3BhZ2Ui
208
+ OjEsInBlcl9wYWdlIjoxMCwidG90YWxfcGFnZXMiOjY0LCJ0b3RhbF9jb3Vu
209
+ dCI6NjM5fQ==
210
+ http_version:
211
+ recorded_at: Mon, 06 Jul 2015 19:31:40 GMT
212
+ recorded_with: VCR 2.9.2