Module: DroidServices::Extensions::HasResource

Extended by:
ActiveSupport::Concern
Included in:
BaseResource
Defined in:
lib/droid_services/extensions/has_resource.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#build_collectionObject



40
41
42
# File 'lib/droid_services/extensions/has_resource.rb', line 40

def build_collection
  resource_scope
end

#build_resource(id, attributes = {}) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/droid_services/extensions/has_resource.rb', line 30

def build_resource(id, attributes = {})
  if id.present?
    resource = find_resource(id)
    resource.attributes = attributes
    resource
  else
    resource_scope.new(default_resource_attributes.merge(attributes))
  end
end

#collection_nameObject



22
23
24
# File 'lib/droid_services/extensions/has_resource.rb', line 22

def collection_name
  resource_name.pluralize
end

#find_resource(id) ⇒ Object



44
45
46
# File 'lib/droid_services/extensions/has_resource.rb', line 44

def find_resource(id)
  resource_scope.find(id)
end

#resource_attributesObject



26
27
28
# File 'lib/droid_services/extensions/has_resource.rb', line 26

def resource_attributes
  filter_attributes(dirty_resource_attributes)
end

#resource_classObject



10
11
12
13
14
15
16
# File 'lib/droid_services/extensions/has_resource.rb', line 10

def resource_class
  if self.class.resource_class_name
    self.class.resource_class_name.constantize
  else
    resource_name.classify.constantize
  end
end

#resource_scopeObject



18
19
20
# File 'lib/droid_services/extensions/has_resource.rb', line 18

def resource_scope
  resource_class
end