Class: CleverSDK::Data::Courses
- Inherits:
-
Object
- Object
- CleverSDK::Data::Courses
- Includes:
- Enumerable
- Defined in:
- lib/clever_sdk/data/courses.rb
Instance Attribute Summary collapse
-
#response ⇒ Object
readonly
private.
Instance Method Summary collapse
- #all(&block) ⇒ Object
- #data ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(response) ⇒ Courses
constructor
private.
- #inspect ⇒ Object
- #next ⇒ Object
- #next? ⇒ Boolean
- #prev ⇒ Object
- #prev? ⇒ Boolean
Constructor Details
#initialize(response) ⇒ Courses
private
14 15 16 |
# File 'lib/clever_sdk/data/courses.rb', line 14 def initialize(response) @response = response end |
Instance Attribute Details
#response ⇒ Object (readonly)
private
11 12 13 |
# File 'lib/clever_sdk/data/courses.rb', line 11 def response @response end |
Instance Method Details
#all(&block) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/clever_sdk/data/courses.rb', line 31 def all &block return enum_for :all unless block page = self loop do page.each(&block) page = page.next break if page.nil? end end |
#data ⇒ Object
18 19 20 |
# File 'lib/clever_sdk/data/courses.rb', line 18 def data Array(response.body.dig("data")) end |
#each(&block) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/clever_sdk/data/courses.rb', line 22 def each &block return enum_for :each unless block data .lazy .map { |datum| CleverSDK::Data::Course.new(datum.dig("data"), response) } .each(&block) end |
#inspect ⇒ Object
68 69 70 |
# File 'lib/clever_sdk/data/courses.rb', line 68 def inspect "#<#{self.class.name}:0x#{(object_id * 2).to_s(16).rjust(16, "0")} courses:#{data.count}>" end |
#next ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/clever_sdk/data/courses.rb', line 47 def next link = find_link("next") return nil if link.nil? self.class.new(CleverSDK::Api.new.page(path: link.dig("uri"), access_token: response.access_token)) end |
#next? ⇒ Boolean
42 43 44 45 |
# File 'lib/clever_sdk/data/courses.rb', line 42 def next? link = find_link("next") !link.nil? end |
#prev ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/clever_sdk/data/courses.rb', line 60 def prev link = find_link("prev") return nil if link.nil? self.class.new(CleverSDK::Api.new.page(path: link.dig("uri"), access_token: response.access_token)) end |
#prev? ⇒ Boolean
55 56 57 58 |
# File 'lib/clever_sdk/data/courses.rb', line 55 def prev? link = find_link("prev") !link.nil? end |