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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 86903257522deff62669c3371ed6fdef3bb9a265
4
- data.tar.gz: 7867db26712ffba5489941d23d0b1c9d17597bbb
3
+ metadata.gz: 5bbb880383cb3b397916a8aedec09dbc0b9d92e6
4
+ data.tar.gz: 5b1562b36c5e71138161a6f353f5f6ce1f85ddef
5
5
  SHA512:
6
- metadata.gz: 294899fbc52a73f6f76b70039796b187e574ac5b39bcbf541af84c41e8d83e01c68da92e149991081accb39fc1fd82faabd6dcce06bad120ea5fa2c32b331571
7
- data.tar.gz: 7bff5c7ba5df04db7fb45b9fff0334818a2419d026e6a91b03c27eb6b8d6da196a3deb97d0a7b4d42aa1993f2a14c5529a7ff57613c1f56af7627f1245770827
6
+ metadata.gz: 4a97e93a67f8ee6392be4c0c5551ff00308b3996ec2f00e023b3931fa23a31e9013593b96fb4eebaefa5b9629673e30b56ff65cc7fc14f5f0b0468da964cec7d
7
+ data.tar.gz: ecfd07d91c00cdc15e1507f79865537396808a58a0708586ba96369287d417c721c87912615cda52af1429e3b50677bf35a613b092ecfa141dfd389166127f5b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: edools-api 0.4.0 ruby lib
5
+ # stub: edools-api 0.5.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "edools-api"
9
- s.version = "0.4.0"
9
+ s.version = "0.5.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Vinicius Kastrup"]
14
- s.date = "2014-09-04"
14
+ s.date = "2015-07-07"
15
15
  s.description = "\n With this gem you'll be able to access and manipulate all the data of your School or Organization\n hosted at Edools.\n "
16
16
  s.email = "viniciusmkm@gmail.com"
17
17
  s.extra_rdoc_files = [
@@ -29,44 +29,85 @@ Gem::Specification.new do |s|
29
29
  "VERSION",
30
30
  "edools-api.gemspec",
31
31
  "lib/edools.rb",
32
+ "lib/edools/base.rb",
32
33
  "lib/edools/config.rb",
33
34
  "lib/edools/core.rb",
34
35
  "lib/edools/core/api_key.rb",
35
36
  "lib/edools/core/base.rb",
37
+ "lib/edools/core/course.rb",
38
+ "lib/edools/core/course_content.rb",
39
+ "lib/edools/core/course_module.rb",
36
40
  "lib/edools/core/enrollment.rb",
41
+ "lib/edools/core/lesson.rb",
42
+ "lib/edools/core/media.rb",
37
43
  "lib/edools/core/organization.rb",
38
- "lib/edools/core/paginated_collection.rb",
44
+ "lib/edools/core/path.rb",
39
45
  "lib/edools/core/registration.rb",
40
46
  "lib/edools/core/school.rb",
41
- "lib/edools/core/school_class.rb",
42
47
  "lib/edools/core/school_product.rb",
43
48
  "lib/edools/core/session.rb",
44
49
  "lib/edools/core/student.rb",
50
+ "lib/edools/ecommerce.rb",
51
+ "lib/edools/ecommerce/base.rb",
52
+ "lib/edools/ecommerce/product.rb",
45
53
  "lib/edools/initialization.rb",
54
+ "lib/edools/paginated_collection.rb",
46
55
  "spec/edools/core/api_key_spec.rb",
47
56
  "spec/edools/core/base_spec.rb",
57
+ "spec/edools/core/course_content_spec.rb",
58
+ "spec/edools/core/course_module_spec.rb",
59
+ "spec/edools/core/course_spec.rb",
48
60
  "spec/edools/core/enrollment_spec.rb",
61
+ "spec/edools/core/lesson_spec.rb",
62
+ "spec/edools/core/media_spec.rb",
49
63
  "spec/edools/core/organization_spec.rb",
64
+ "spec/edools/core/path_spec.rb",
50
65
  "spec/edools/core/registration_spec.rb",
51
- "spec/edools/core/school_class_spec.rb",
52
66
  "spec/edools/core/school_product_spec.rb",
53
67
  "spec/edools/core/school_spec.rb",
54
68
  "spec/edools/core/session_spec.rb",
55
69
  "spec/edools/core/student_spec.rb",
70
+ "spec/edools/ecommerce/base_spec.rb",
71
+ "spec/edools/ecommerce/product_spec.rb",
56
72
  "spec/fixtures/vcr_cassettes/Edools_Core_ApiKey/finds_the_api_key.yml",
73
+ "spec/fixtures/vcr_cassettes/Edools_Core_Course/create_the_course.yml",
74
+ "spec/fixtures/vcr_cassettes/Edools_Core_Course/destroy_the_course.yml",
75
+ "spec/fixtures/vcr_cassettes/Edools_Core_Course/finds_all_course.yml",
76
+ "spec/fixtures/vcr_cassettes/Edools_Core_Course/finds_the_course.yml",
77
+ "spec/fixtures/vcr_cassettes/Edools_Core_Course/update_the_course.yml",
78
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseContent/create_the_course_content.yml",
79
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseContent/destroy_the_course_content.yml",
80
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseContent/finds_all_course_content.yml",
81
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseContent/finds_the_course_content.yml",
82
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseContent/update_the_course_content.yml",
83
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/create_the_course_module.yml",
84
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/destroy_the_course_module.yml",
85
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/finds_all_course_module.yml",
86
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/finds_the_course_module.yml",
87
+ "spec/fixtures/vcr_cassettes/Edools_Core_CourseModule/update_the_course_module.yml",
57
88
  "spec/fixtures/vcr_cassettes/Edools_Core_Enrollment/create_the_enrollment.yml",
58
89
  "spec/fixtures/vcr_cassettes/Edools_Core_Enrollment/finds_all_enrollment.yml",
59
90
  "spec/fixtures/vcr_cassettes/Edools_Core_Enrollment/finds_the_enrollment.yml",
60
91
  "spec/fixtures/vcr_cassettes/Edools_Core_Enrollment/update_the_enrollment.yml",
92
+ "spec/fixtures/vcr_cassettes/Edools_Core_Lesson/create_the_lesson.yml",
93
+ "spec/fixtures/vcr_cassettes/Edools_Core_Lesson/destroy_the_lesson.yml",
94
+ "spec/fixtures/vcr_cassettes/Edools_Core_Lesson/finds_all_lesson.yml",
95
+ "spec/fixtures/vcr_cassettes/Edools_Core_Lesson/finds_the_lesson.yml",
96
+ "spec/fixtures/vcr_cassettes/Edools_Core_Lesson/update_the_lesson.yml",
97
+ "spec/fixtures/vcr_cassettes/Edools_Core_Media/create_the_media.yml",
98
+ "spec/fixtures/vcr_cassettes/Edools_Core_Media/destroy_the_media.yml",
99
+ "spec/fixtures/vcr_cassettes/Edools_Core_Media/finds_all_media.yml",
100
+ "spec/fixtures/vcr_cassettes/Edools_Core_Media/finds_the_media.yml",
101
+ "spec/fixtures/vcr_cassettes/Edools_Core_Media/update_the_media.yml",
102
+ "spec/fixtures/vcr_cassettes/Edools_Core_Path/create_the_path.yml",
103
+ "spec/fixtures/vcr_cassettes/Edools_Core_Path/destroy_the_path.yml",
104
+ "spec/fixtures/vcr_cassettes/Edools_Core_Path/finds_all_path.yml",
105
+ "spec/fixtures/vcr_cassettes/Edools_Core_Path/finds_the_path.yml",
106
+ "spec/fixtures/vcr_cassettes/Edools_Core_Path/update_the_path.yml",
61
107
  "spec/fixtures/vcr_cassettes/Edools_Core_School/create_the_school.yml",
62
108
  "spec/fixtures/vcr_cassettes/Edools_Core_School/finds_all_school.yml",
63
109
  "spec/fixtures/vcr_cassettes/Edools_Core_School/finds_the_school.yml",
64
110
  "spec/fixtures/vcr_cassettes/Edools_Core_School/update_the_school.yml",
65
- "spec/fixtures/vcr_cassettes/Edools_Core_SchoolClass/create_the_school_class.yml",
66
- "spec/fixtures/vcr_cassettes/Edools_Core_SchoolClass/destroy_the_school_class.yml",
67
- "spec/fixtures/vcr_cassettes/Edools_Core_SchoolClass/finds_all_school_class.yml",
68
- "spec/fixtures/vcr_cassettes/Edools_Core_SchoolClass/finds_the_school_class.yml",
69
- "spec/fixtures/vcr_cassettes/Edools_Core_SchoolClass/update_the_school_class.yml",
70
111
  "spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/create_the_school_product.yml",
71
112
  "spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/destroy_the_school_product.yml",
72
113
  "spec/fixtures/vcr_cassettes/Edools_Core_SchoolProduct/finds_all_school_product.yml",
@@ -78,6 +119,11 @@ Gem::Specification.new do |s|
78
119
  "spec/fixtures/vcr_cassettes/Edools_Core_Student/finds_all_student.yml",
79
120
  "spec/fixtures/vcr_cassettes/Edools_Core_Student/finds_the_student.yml",
80
121
  "spec/fixtures/vcr_cassettes/Edools_Core_Student/update_the_student.yml",
122
+ "spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/create_the_product.yml",
123
+ "spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/destroy_the_product.yml",
124
+ "spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/finds_all_product.yml",
125
+ "spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/finds_the_product.yml",
126
+ "spec/fixtures/vcr_cassettes/Edools_Ecommerce_Product/update_the_product.yml",
81
127
  "spec/spec_helper.rb"
82
128
  ]
83
129
  s.homepage = "http://github.com/Edools/edools-api"
@@ -1,5 +1,6 @@
1
1
  require 'active_resource'
2
- # require 'kaminari'
3
2
  require 'edools/initialization'
4
3
  require 'edools/config'
4
+ require 'edools/base'
5
5
  require 'edools/core'
6
+ require 'edools/ecommerce'
@@ -0,0 +1,25 @@
1
+ module Edools
2
+ class Base < ActiveResource::Base
3
+ def self.refresh_config!
4
+ self.format = ActiveResource::Formats::JsonFormat if Edools.format == :json
5
+ self.format = ActiveResource::Formats::XmlFormat if Edools.format == :xml
6
+ self.headers['Authorization'] = "Token token=#{Edools.credentials}"
7
+ self.headers['Accept'] = "application/#{version}+#{Edools.format}"
8
+ end
9
+
10
+ def self.version=(version)
11
+ @version = version
12
+ end
13
+
14
+ def self.version
15
+ @version
16
+ end
17
+
18
+ self.site = nil
19
+ self.version = nil
20
+ self.include_root_in_json = true
21
+
22
+ refresh_config!
23
+
24
+ end
25
+ end
@@ -22,11 +22,11 @@ module Edools
22
22
  end
23
23
 
24
24
  def api_objects
25
- ObjectSpace.each_object(Class).select{ |klass| klass < Edools::Core::Base } << Edools::Core::Base
25
+ ObjectSpace.each_object(Class).select{ |klass| klass < Edools::Base } << Edools::Base
26
26
  end
27
27
 
28
28
  def refresh_config_for_api_objects!
29
29
  api_objects.each {|d| d.refresh_config!}
30
30
  end
31
31
  end
32
- end
32
+ end
@@ -1,10 +1,15 @@
1
1
  require 'edools/core/base'
2
2
  require 'edools/core/api_key'
3
+ require 'edools/core/course'
4
+ require 'edools/core/course_content'
5
+ require 'edools/core/course_module'
3
6
  require 'edools/core/enrollment'
7
+ require 'edools/core/lesson'
8
+ require 'edools/core/media'
4
9
  require 'edools/core/organization'
10
+ require 'edools/core/path'
5
11
  require 'edools/core/registration'
6
12
  require 'edools/core/school'
7
- require 'edools/core/school_class'
8
13
  require 'edools/core/school_product'
9
14
  require 'edools/core/session'
10
15
  require 'edools/core/student'
@@ -1,17 +1,8 @@
1
1
  module Edools
2
2
  module Core
3
- class Base < ActiveResource::Base
3
+ class Base < Edools::Base
4
4
  self.site = Edools::CORE_BASE_URL
5
- self.include_root_in_json = true
6
-
7
- def self.refresh_config!
8
- self.format = ActiveResource::Formats::JsonFormat if Edools.format == :json
9
- self.format = ActiveResource::Formats::XmlFormat if Edools.format == :xml
10
- self.headers['Authorization'] = "Token token=#{Edools.credentials}"
11
- self.headers['Accept'] = "application/#{Edools::CORE_VERSION}+#{Edools.format}"
12
- end
13
- refresh_config!
14
-
5
+ self.version = Edools::CORE_VERSION
15
6
  end
16
7
  end
17
- end
8
+ end
@@ -0,0 +1,10 @@
1
+ require 'edools/core/base'
2
+ require 'edools/paginated_collection'
3
+
4
+ module Edools
5
+ module Core
6
+ class Course < Edools::Core::Base
7
+ self.collection_parser = Edools::PaginatedCollection
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,15 @@
1
+ require 'edools/core/base'
2
+
3
+ module Edools
4
+ module Core
5
+ class CourseContent < Edools::Core::Base
6
+
7
+ def self.collection_path(prefix_options = {}, query_options = nil)
8
+ super
9
+ course_module_id = prefix_options[:course_module_id] || query_options.try(:[], :course_module_id)
10
+ "/course_modules/#{course_module_id}/#{collection_name}.#{format.extension}#{query_string(query_options)}"
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ require 'edools/core/base'
2
+
3
+ module Edools
4
+ module Core
5
+ class CourseModule < Edools::Core::Base
6
+
7
+ def self.collection_path(prefix_options = {}, query_options = nil)
8
+ super
9
+ course_id = prefix_options[:course_id] || query_options.try(:[], :course_id)
10
+ "/courses/#{course_id}/#{collection_name}.#{format.extension}#{query_string(query_options)}"
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -1,10 +1,10 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
 
4
4
  module Edools
5
5
  module Core
6
6
  class Enrollment < Edools::Core::Base
7
- self.collection_parser = PaginatedCollection
7
+ self.collection_parser = Edools::PaginatedCollection
8
8
 
9
9
  def self.collection_path(prefix_options = {}, query_options = nil)
10
10
  super
@@ -0,0 +1,10 @@
1
+ require 'edools/core/base'
2
+ require 'edools/paginated_collection'
3
+
4
+ module Edools
5
+ module Core
6
+ class Lesson < Edools::Core::Base
7
+ self.collection_parser = Edools::PaginatedCollection
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'edools/core/base'
2
+ require 'edools/paginated_collection'
3
+
4
+ module Edools
5
+ module Core
6
+ class Media < Edools::Core::Base
7
+ self.collection_parser = Edools::PaginatedCollection
8
+ end
9
+ end
10
+ end
@@ -1,10 +1,10 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
 
4
4
  module Edools
5
5
  module Core
6
6
  class Organization < Edools::Core::Base
7
- # self.collection_parser = PaginatedCollection
7
+ # self.collection_parser = Edools::PaginatedCollection
8
8
  end
9
9
  end
10
10
  end
@@ -0,0 +1,10 @@
1
+ require 'edools/core/base'
2
+ require 'edools/paginated_collection'
3
+
4
+ module Edools
5
+ module Core
6
+ class Path < Edools::Core::Base
7
+ self.collection_parser = Edools::PaginatedCollection
8
+ end
9
+ end
10
+ end
@@ -1,10 +1,10 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
 
4
4
  module Edools
5
5
  module Core
6
6
  class Registration < Edools::Core::Base
7
- # self.collection_parser = PaginatedCollection
7
+ # self.collection_parser = Edools::PaginatedCollection
8
8
  end
9
9
  end
10
10
  end
@@ -1,10 +1,10 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
 
4
4
  module Edools
5
5
  module Core
6
6
  class School < Edools::Core::Base
7
- # self.collection_parser = PaginatedCollection
7
+ # self.collection_parser = Edools::PaginatedCollection
8
8
  end
9
9
  end
10
10
  end
@@ -1,10 +1,10 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
 
4
4
  module Edools
5
5
  module Core
6
6
  class SchoolProduct < Edools::Core::Base
7
- # self.collection_parser = PaginatedCollection
7
+ self.collection_parser = Edools::PaginatedCollection
8
8
 
9
9
  def self.collection_path(prefix_options = {}, query_options = nil)
10
10
  super
@@ -1,5 +1,5 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
 
4
4
  module Edools
5
5
  module Core
@@ -1,11 +1,11 @@
1
1
  require 'edools/core/base'
2
- require 'edools/core/paginated_collection'
2
+ require 'edools/paginated_collection'
3
3
  require 'edools/core/enrollment'
4
4
 
5
5
  module Edools
6
6
  module Core
7
7
  class Student < Edools::Core::Base
8
- self.collection_parser = PaginatedCollection
8
+ self.collection_parser = Edools::PaginatedCollection
9
9
 
10
10
  has_many :enrollments, class_name: 'edools/core/enrollment'
11
11
 
@@ -0,0 +1,2 @@
1
+ require 'edools/ecommerce/base'
2
+ require 'edools/ecommerce/product'
@@ -0,0 +1,8 @@
1
+ module Edools
2
+ module Ecommerce
3
+ class Base < Edools::Base
4
+ self.site = Edools::ECOMMERCE_BASE_URL
5
+ self.version = Edools::ECOMMERCE_VERSION
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,21 @@
1
+ require 'edools/ecommerce/base'
2
+ require 'edools/paginated_collection'
3
+
4
+ module Edools
5
+ module Ecommerce
6
+ class Product < Edools::Ecommerce::Base
7
+ self.collection_parser = Edools::PaginatedCollection
8
+
9
+ def self.collection_path(prefix_options = {}, query_options = nil)
10
+ super
11
+ school_id = prefix_options[:school_id] || query_options.try(:[], :school_id)
12
+ "/schools/#{school_id}/#{collection_name}.#{format.extension}#{query_string(query_options)}"
13
+ end
14
+
15
+ def to_param
16
+ self.guid
17
+ end
18
+ end
19
+
20
+ end
21
+ end
@@ -4,6 +4,9 @@ module Edools
4
4
  CORE_BASE_URL = 'https://core.edools.com'
5
5
  CORE_VERSION = 'vnd.edools.core.v1'
6
6
 
7
+ ECOMMERCE_BASE_URL = 'https://ecommerce.edools.com'
8
+ ECOMMERCE_VERSION = 'vnd.edools.ecommerce.v1'
9
+
7
10
  @@credentials = nil
8
11
  @@format = :json
9
- end
12
+ end