Class: CleverSDK::Data::Resources
- Inherits:
- 
      Object
      
        - Object
- CleverSDK::Data::Resources
 
- Includes:
- Enumerable
- Defined in:
- lib/clever_sdk/data/resources.rb
Instance Attribute Summary collapse
- 
  
    
      #response  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    private. 
Instance Method Summary collapse
- #all(&block) ⇒ Object
- #each(&block) ⇒ Object
- 
  
    
      #initialize(response)  ⇒ Resources 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    private. 
- #inspect ⇒ Object
- #next ⇒ Object
- #next? ⇒ Boolean
- #prev ⇒ Object
- #prev? ⇒ Boolean
- #resources ⇒ Object
Constructor Details
#initialize(response) ⇒ Resources
private
| 14 15 16 | # File 'lib/clever_sdk/data/resources.rb', line 14 def initialize(response) @response = response end | 
Instance Attribute Details
#response ⇒ Object (readonly)
private
| 11 12 13 | # File 'lib/clever_sdk/data/resources.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/resources.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 | 
#each(&block) ⇒ Object
| 22 23 24 25 26 27 28 29 | # File 'lib/clever_sdk/data/resources.rb', line 22 def each &block return enum_for :each unless block resources .lazy .map { |resource| CleverSDK::Data::Resource.new(resource, response) } .each(&block) end | 
#inspect ⇒ Object
| 68 69 70 | # File 'lib/clever_sdk/data/resources.rb', line 68 def inspect "#<#{self.class.name}:0x#{(object_id * 2).to_s(16).rjust(16, "0")} resources:#{resources.count}>" end | 
#next ⇒ Object
| 47 48 49 50 51 52 53 | # File 'lib/clever_sdk/data/resources.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/resources.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/resources.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/resources.rb', line 55 def prev? link = find_link("prev") !link.nil? end | 
#resources ⇒ Object
| 18 19 20 | # File 'lib/clever_sdk/data/resources.rb', line 18 def resources Array(response.body.dig("resources")) end |