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



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

def build_collection
  resource_scope
end

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



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

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



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

def collection_name
  resource_name.pluralize
end

#find_resource(id) ⇒ Object



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

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

#resource_attributesObject



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

def resource_attributes
  filter_attributes(dirty_resource_attributes)
end

#resource_classObject



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

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

#resource_scopeObject



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

def resource_scope
  resource_class
end