Class: ApiResource::ResourceCollection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/api-resource/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, meta, klass, raw_result = nil) ⇒ ResourceCollection

Returns a new instance of ResourceCollection.



315
316
317
318
319
# File 'lib/api-resource/resource.rb', line 315

def initialize(data, meta, klass, raw_result=nil)
  meta.each { |k, v| self.class.class_eval { define_method(k) { v } } } if meta
  @resources = data.map { |e| klass.new(e) }.to_a
  @raw_result = raw_result
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object



321
322
323
324
325
326
327
# File 'lib/api-resource/resource.rb', line 321

def method_missing(m, *args, &block)
  if @resources.respond_to?(m)
    @resources.send(m,*args, &block)
  else
    super
  end
end

Instance Attribute Details

#raw_resultObject (readonly)

Returns the value of attribute raw_result.



313
314
315
# File 'lib/api-resource/resource.rb', line 313

def raw_result
  @raw_result
end

Instance Method Details

#acts_like_array?Boolean

Returns:

  • (Boolean)


333
334
# File 'lib/api-resource/resource.rb', line 333

def acts_like_array?
end

#respond_to_missing?(m, _) ⇒ Boolean

Returns:

  • (Boolean)


329
330
331
# File 'lib/api-resource/resource.rb', line 329

def respond_to_missing?(m, _)
  @resources.respond_to?(m)
end