edools-api 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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