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,37 @@
1
+ require 'active_resource'
2
+
3
+ module Edools
4
+ class PaginatedCollection < ActiveResource::Collection
5
+
6
+ # Our custom array to handle pagination methods
7
+ attr_accessor :total_pages, :per_page, :total_count, :current_page
8
+
9
+ # The initialize method will receive the ActiveResource parsed result
10
+ # and set @elements.
11
+ def initialize(parsed = {})
12
+ @elements = parsed[resource_key(parsed.keys)]
13
+ @total_pages = parsed["total_pages"]
14
+ @per_page = parsed["per_page"]
15
+ @total_count = parsed["total_count"]
16
+ @current_page = parsed["current_page"]
17
+ end
18
+
19
+ private
20
+
21
+ def resource_key(keys)
22
+ (Edools.api_objects
23
+ .collect { |klass| split_class_name_to_key_match(klass) }.flatten & keys).first
24
+ end
25
+
26
+ def split_class_name_to_key_match(klass)
27
+ resource_key = klass.name.split("::").last.underscore.pluralize
28
+
29
+ if resource_key.include?('_')
30
+ [resource_key, resource_key.gsub('_')]
31
+ else
32
+ resource_key
33
+ end
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,35 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Core::CourseContent, :vcr do
4
+ it 'finds all course_content' do
5
+ course_contents = Edools::Core::CourseContent.all(params: { course_module_id: 11329 })
6
+
7
+ expect(course_contents.count).to eq 3
8
+ end
9
+
10
+ it 'finds the course_content' do
11
+ course_content = Edools::Core::CourseContent.find(52239)
12
+
13
+ expect(course_content.id).to eq 52239
14
+ end
15
+
16
+ it 'update the course_content' do
17
+ course_content = Edools::Core::CourseContent.find(52239)
18
+ course_content.description = 'Edools API Test'
19
+
20
+ expect(course_content.save).to eq true
21
+ end
22
+
23
+ it 'create the course_content' do
24
+ course_content = Edools::Core::CourseContent.new()
25
+ course_content.prefix_options[:course_module_id] = 11329
26
+ course_content.name = "Edools API Test"
27
+
28
+ expect(course_content.save).to eq true
29
+ end
30
+
31
+ it 'destroy the course_content' do
32
+ course_content = Edools::Core::CourseContent.find(52239)
33
+ expect(course_content.destroy).to be_truthy
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Core::CourseModule, :vcr do
4
+ it 'finds all course_module' do
5
+ course_modules = Edools::Core::CourseModule.all(params: { course_id: 1566 })
6
+
7
+ expect(course_modules.count).to eq 3
8
+ end
9
+
10
+ it 'finds the course_module' do
11
+ course_module = Edools::Core::CourseModule.find(11329)
12
+
13
+ expect(course_module.id).to eq 11329
14
+ end
15
+
16
+ it 'update the course_module' do
17
+ course_module = Edools::Core::CourseModule.find(11329)
18
+ course_module.description = 'Edools API TEST'
19
+
20
+ expect(course_module.save).to eq true
21
+ end
22
+
23
+ it 'create the course_module' do
24
+ course_module = Edools::Core::CourseModule.new()
25
+ course_module.prefix_options[:course_id] = 1566
26
+ course_module.name = "Teste"
27
+
28
+ expect(course_module.save).to eq true
29
+ end
30
+
31
+ it 'destroy the course_module' do
32
+ course_module = Edools::Core::CourseModule.find(11976)
33
+ expect(course_module.destroy).to be_truthy
34
+ end
35
+ end
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Core::Course, :vcr do
4
+ it 'finds the course' do
5
+ course = Edools::Core::Course.find(12473)
6
+
7
+ expect(course.id).to eq 12473
8
+ end
9
+
10
+ it 'finds all course' do
11
+ courses = Edools::Core::Course.all
12
+ expect(courses.count).to eq 10
13
+ expect(courses.per_page). to eq 10
14
+ expect(courses.current_page). to eq 1
15
+ expect(courses.total_count). to eq 49
16
+ expect(courses.total_pages). to eq 5
17
+ end
18
+
19
+ it 'update the course' do
20
+ course = Edools::Core::Course.find(12473)
21
+ course.description = 'Edools API test'
22
+
23
+ expect(course.save).to be_truthy
24
+ end
25
+
26
+ it 'create the course' do
27
+ course = Edools::Core::Course.new(name: 'Edools API Test')
28
+
29
+ expect(course.save).to be_truthy
30
+ end
31
+
32
+ it 'destroy the course' do
33
+ course = Edools::Core::Course.find(12473)
34
+ expect(course.destroy).to be_truthy
35
+ end
36
+ end
@@ -22,12 +22,10 @@ describe Edools::Core::Enrollment, :vcr do
22
22
 
23
23
  it 'create the enrollment' do
24
24
  student = Edools::Core::Student.find(:first)
25
- school_class = Edools::Core::SchoolClass.find(:first, params: { school_product_id: 156 })
26
25
 
27
- enrollment = Edools::Core::Enrollment.new()
26
+ enrollment = Edools::Core::Enrollment.new
28
27
 
29
28
  enrollment.registration_id = student.registrations.first.id
30
- enrollment.school_class_id = school_class.id
31
29
  enrollment.unlimited = true
32
30
  enrollment.status = 'active'
33
31
 
@@ -0,0 +1,39 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Core::Lesson, :vcr do
4
+ it 'finds all lesson' do
5
+ lessons = Edools::Core::Lesson.all
6
+
7
+ expect(lessons.count).to eq 10
8
+ expect(lessons.per_page). to eq 10
9
+ expect(lessons.current_page). to eq 1
10
+ expect(lessons.total_count). to eq 381
11
+ expect(lessons.total_pages). to eq 39
12
+ end
13
+
14
+ it 'finds the lesson' do
15
+ lesson = Edools::Core::Lesson.find(52232)
16
+
17
+ expect(lesson.id).to eq 52232
18
+ end
19
+
20
+ it 'update the lesson' do
21
+ lesson = Edools::Core::Lesson.find(52232)
22
+ lesson.description = 'Edools API Test'
23
+
24
+ expect(lesson.save).to eq true
25
+ end
26
+
27
+ it 'create the lesson' do
28
+ lesson = Edools::Core::Lesson.new()
29
+ lesson.title = "Edools API Test"
30
+ lesson.type = 'ContentLesson'
31
+
32
+ expect(lesson.save).to eq true
33
+ end
34
+
35
+ it 'destroy the lesson' do
36
+ lesson = Edools::Core::Lesson.find(52232)
37
+ expect(lesson.destroy).to be_truthy
38
+ end
39
+ end
@@ -0,0 +1,40 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Core::Media, :vcr do
4
+ it 'finds all media' do
5
+ all_media = Edools::Core::Media.all
6
+
7
+ expect(all_media.count).to eq 10
8
+ expect(all_media.per_page). to eq 10
9
+ expect(all_media.current_page). to eq 1
10
+ expect(all_media.total_count). to eq 639
11
+ expect(all_media.total_pages). to eq 64
12
+ end
13
+
14
+ it 'finds the media' do
15
+ media = Edools::Core::Media.find(54344)
16
+
17
+ expect(media.id).to eq 54344
18
+ end
19
+
20
+ it 'update the media' do
21
+ media = Edools::Core::Media.find(54344)
22
+ media.description = 'Edools API Test'
23
+
24
+ expect(media.save).to eq true
25
+ end
26
+
27
+ it 'create the media' do
28
+ media = Edools::Core::Media.new()
29
+ media.title = "Edools API Test"
30
+ media.type = 'Text'
31
+ media.text = 'Edools API Test Text'
32
+
33
+ expect(media.save).to eq true
34
+ end
35
+
36
+ it 'destroy the media' do
37
+ media = Edools::Core::Media.find(54344)
38
+ expect(media.destroy).to be_truthy
39
+ end
40
+ end
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Core::Path, :vcr do
4
+ it 'finds the path' do
5
+ path = Edools::Core::Path.find(1008)
6
+
7
+ expect(path.id).to eq 1008
8
+ end
9
+
10
+ it 'finds all path' do
11
+ paths = Edools::Core::Path.all
12
+ expect(paths.count).to eq 10
13
+ expect(paths.per_page). to eq 10
14
+ expect(paths.current_page). to eq 1
15
+ expect(paths.total_count). to eq 20
16
+ expect(paths.total_pages). to eq 2
17
+ end
18
+
19
+ it 'update the path' do
20
+ path = Edools::Core::Path.find(1008)
21
+ path.description = 'Edools API test'
22
+
23
+ expect(path.save).to be_truthy
24
+ end
25
+
26
+ it 'create the path' do
27
+ path = Edools::Core::Path.new(name: 'Edools API Test')
28
+
29
+ expect(path.save).to be_truthy
30
+ end
31
+
32
+ it 'destroy the path' do
33
+ path = Edools::Core::Path.find(1750)
34
+ expect(path.destroy).to be_truthy
35
+ end
36
+ end
@@ -4,18 +4,22 @@ describe Edools::Core::SchoolProduct, :vcr do
4
4
  it 'finds all school product' do
5
5
  school_products = Edools::Core::SchoolProduct.all(params: { school_id: 224 })
6
6
 
7
- expect(school_products.count).to eq 8
7
+ expect(school_products.count).to eq 10
8
+ expect(school_products.per_page). to eq 10
9
+ expect(school_products.current_page). to eq 1
10
+ expect(school_products.total_count). to eq 73
11
+ expect(school_products.total_pages). to eq 8
8
12
  end
9
13
 
10
14
  it 'finds the school product' do
11
- school_product = Edools::Core::SchoolProduct.find(170)
15
+ school_product = Edools::Core::SchoolProduct.find(2718)
12
16
 
13
- expect(school_product.id).to eq 170
17
+ expect(school_product.id).to eq 2718
14
18
  end
15
19
 
16
20
  it 'update the school product' do
17
- school_product = Edools::Core::SchoolProduct.find(170)
18
- school_product.description = "test description"
21
+ school_product = Edools::Core::SchoolProduct.find(2718)
22
+ school_product.description = "Edools API Test"
19
23
 
20
24
  expect(school_product.save).to eq true
21
25
  end
@@ -29,7 +33,7 @@ describe Edools::Core::SchoolProduct, :vcr do
29
33
  end
30
34
 
31
35
  it 'destroy the school product' do
32
- school_product = Edools::Core::SchoolProduct.find(170)
36
+ school_product = Edools::Core::SchoolProduct.find(2718)
33
37
  expect(school_product.destroy.code).to eq '204'
34
38
  end
35
39
  end
@@ -0,0 +1,9 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Ecommerce::Base do
4
+ describe 'location' do
5
+ it 'sets site to edools ecommerce api url' do
6
+ expect(Edools::Ecommerce::Base.site.to_s).to eq 'https://ecommerce.edools.com'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,38 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Edools::Ecommerce::Product, :vcr do
4
+ it 'finds all product' do
5
+ products = Edools::Ecommerce::Product.all(params: { school_id: 224 })
6
+
7
+ expect(products.count).to eq 10
8
+ expect(products.per_page). to eq 10
9
+ expect(products.current_page). to eq 1
10
+ expect(products.total_count). to eq 109
11
+ expect(products.total_pages). to eq 11
12
+ end
13
+
14
+ it 'finds the product' do
15
+ product = Edools::Ecommerce::Product.find(123)
16
+
17
+ expect(product.id).to eq 2671
18
+ end
19
+
20
+ it 'update the product' do
21
+ product = Edools::Ecommerce::Product.find(123)
22
+ product.name = "Edools API Test UPDATED"
23
+
24
+ expect(product.save).to eq true
25
+ end
26
+
27
+ it 'create the product' do
28
+ product = Edools::Ecommerce::Product.new(name: 'Edools API Test', guid: '123', price: 0)
29
+ product.prefix_options[:school_id] = 224
30
+
31
+ expect(product.save).to eq true
32
+ end
33
+
34
+ it 'destroy the product' do
35
+ product = Edools::Ecommerce::Product.find(123)
36
+ expect(product.destroy.code).to eq '204'
37
+ end
38
+ end
@@ -0,0 +1,66 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://core.edools.com/courses.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"course":{"name":"Edools API Test"}}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Authorization:
13
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
14
+ Accept:
15
+ - application/vnd.edools.core.v1+json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Cache-Control:
26
+ - max-age=0, private, must-revalidate
27
+ Content-Security-Policy-Report-Only:
28
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
29
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
30
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
31
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
32
+ Content-Type:
33
+ - application/vnd.edools.core.v1+json; charset=utf-8
34
+ Date:
35
+ - Mon, 06 Jul 2015 18:40:47 GMT
36
+ Etag:
37
+ - '"05afd31daad949eabd999d7e754075da"'
38
+ Location:
39
+ - https://core.edools.com/courses/12473
40
+ Server:
41
+ - nginx/1.4.7
42
+ Status:
43
+ - 201 Created
44
+ Strict-Transport-Security:
45
+ - max-age=631152000; includeSubdomains
46
+ X-Content-Type-Options:
47
+ - nosniff
48
+ X-Frame-Options:
49
+ - DENY
50
+ X-Request-Id:
51
+ - ec4f7799-873a-459a-87e5-a64ab64fa1d0
52
+ X-Runtime:
53
+ - '0.143671'
54
+ X-Xss-Protection:
55
+ - 1; mode=block
56
+ Content-Length:
57
+ - '295'
58
+ Connection:
59
+ - keep-alive
60
+ body:
61
+ encoding: UTF-8
62
+ string: '{"id":12473,"name":"Edools API Test","description":null,"image_url":null,"created_at":"2015-07-06
63
+ 18:40:47 UTC","updated_at":"2015-07-06 18:40:47 UTC","duration":null,"path_ids":[],"forum_section_ids":[],"library_resource":{"id":121410,"school_products":[],"library":{"id":2},"library_tags":[]}}'
64
+ http_version:
65
+ recorded_at: Mon, 06 Jul 2015 18:40:47 GMT
66
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,114 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://core.edools.com/courses/12473.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 18:42:56 GMT
34
+ Etag:
35
+ - '"d46b4517d247df7aa7e2c4b7514d6fb0"'
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
+ - 9b9d2f4b-9d47-4fc6-9129-e97165453597
48
+ X-Runtime:
49
+ - '0.071172'
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":12473,"name":"Edools API Test","description":"Edools API test","image_url":null,"created_at":"2015-07-06
59
+ 18:40:47 UTC","updated_at":"2015-07-06 18:42:43 UTC","duration":null,"path_ids":[],"forum_section_ids":[],"library_resource":{"id":121410,"school_products":[],"library":{"id":2},"library_tags":[]}}'
60
+ http_version:
61
+ recorded_at: Mon, 06 Jul 2015 18:42:56 GMT
62
+ - request:
63
+ method: delete
64
+ uri: https://core.edools.com/courses/12473.json
65
+ body:
66
+ encoding: US-ASCII
67
+ string: ''
68
+ headers:
69
+ Accept:
70
+ - application/vnd.edools.core.v1+json
71
+ Authorization:
72
+ - Token token=84cc0400cd52f62f2e12309b502889ab:2fee1e06d56ab6394ab9acd4c6a8c62f
73
+ Accept-Encoding:
74
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
75
+ User-Agent:
76
+ - Ruby
77
+ response:
78
+ status:
79
+ code: 204
80
+ message: No Content
81
+ headers:
82
+ Cache-Control:
83
+ - no-cache
84
+ Content-Security-Policy-Report-Only:
85
+ - default-src https://* 'self'; connect-src https://* 'self'; font-src https://*
86
+ 'self'; frame-src https://* 'self'; img-src https://* 'self' data:; media-src
87
+ https://* 'self'; object-src https://* 'self'; script-src https://* 'self';
88
+ style-src https://* 'self'; report-uri https://core.edools.com/uri-directive;
89
+ Date:
90
+ - Mon, 06 Jul 2015 18:42:56 GMT
91
+ Server:
92
+ - nginx/1.4.7
93
+ Status:
94
+ - 204 No Content
95
+ Strict-Transport-Security:
96
+ - max-age=631152000; includeSubdomains
97
+ X-Content-Type-Options:
98
+ - nosniff
99
+ X-Frame-Options:
100
+ - DENY
101
+ X-Request-Id:
102
+ - 58b36f65-150b-40e2-ad51-9790eeb4af2a
103
+ X-Runtime:
104
+ - '0.100044'
105
+ X-Xss-Protection:
106
+ - 1; mode=block
107
+ Connection:
108
+ - keep-alive
109
+ body:
110
+ encoding: UTF-8
111
+ string: ''
112
+ http_version:
113
+ recorded_at: Mon, 06 Jul 2015 18:42:56 GMT
114
+ recorded_with: VCR 2.9.2