Class: Frenetic::ResourceCollection

Inherits:
Delegator
  • Object
show all
Includes:
CollectionRestMethods, HalLinked
Defined in:
lib/frenetic/resource_collection.rb

Instance Method Summary collapse

Methods included from CollectionRestMethods

#get

Methods included from HalLinked

#links, #member_url

Constructor Details

#initialize(resource, attributes = {}) ⇒ ResourceCollection

Returns a new instance of ResourceCollection.



9
10
11
12
13
14
15
# File 'lib/frenetic/resource_collection.rb', line 9

def initialize(resource, attributes = {})
  @resource_class = resource
  @resources = []
  @raw_attributes = (attributes || {}).stringify_keys

  extract_resources!
end

Instance Method Details

#__getobj__Object



25
26
27
# File 'lib/frenetic/resource_collection.rb', line 25

def __getobj__
  @resources
end

#__setobj__Object



29
30
31
# File 'lib/frenetic/resource_collection.rb', line 29

def __setobj__
  @resources
end

#apiObject



33
34
35
# File 'lib/frenetic/resource_collection.rb', line 33

def api
  @resources.first.api
end

#collection_keyObject



21
22
23
# File 'lib/frenetic/resource_collection.rb', line 21

def collection_key
  @collection_key ||= resource_type.pluralize
end

#resource_typeObject



17
18
19
# File 'lib/frenetic/resource_collection.rb', line 17

def resource_type
  @resource_type ||= @resource_class.to_s.demodulize.underscore
end