Class: Wallaby::AbstractModelServicer
- Inherits:
-
Object
- Object
- Wallaby::AbstractModelServicer
- Defined in:
- lib/servicers/wallaby/abstract_model_servicer.rb
Overview
Abstract model servicer
Direct Known Subclasses
Class Method Summary collapse
-
.model_class ⇒ Class
Model class that comes from its class name.
Instance Method Summary collapse
- #collection(params) ⇒ ActiveRecord::Relation
-
#create(resource, params) ⇒ Object
Resource object.
-
#destroy(resource, params) ⇒ Object
Resource object.
-
#find(id, params) ⇒ Object
Resource object.
-
#initialize(model_class = nil, authorizer = nil) ⇒ AbstractModelServicer
constructor
A new instance of AbstractModelServicer.
-
#new(params) ⇒ Object
Initialized object.
- #paginate(query, params) ⇒ ActiveRecord::Relation
- #permit(params) ⇒ ActionController::Parameters
-
#update(resource, params) ⇒ Object
Resource object.
Constructor Details
#initialize(model_class = nil, authorizer = nil) ⇒ AbstractModelServicer
Returns a new instance of AbstractModelServicer.
12 13 14 15 16 17 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 12 def initialize(model_class = nil, = nil) @model_class = model_class || self.class.model_class raise ArgumentError, 'model class required' unless @model_class @authorizer = @provider = Map.service_provider_map @model_class end |
Class Method Details
.model_class ⇒ Class
Returns model class that comes from its class name.
5 6 7 8 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 5 def self.model_class return unless self < ::Wallaby.configuration.mapping.model_servicer Map.model_class_map name.gsub('Servicer', EMPTY_STRING) end |
Instance Method Details
#collection(params) ⇒ ActiveRecord::Relation
27 28 29 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 27 def collection(params) @provider.collection params, @authorizer end |
#create(resource, params) ⇒ Object
Returns resource object.
54 55 56 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 54 def create(resource, params) @provider.create resource, params, @authorizer end |
#destroy(resource, params) ⇒ Object
Returns resource object.
68 69 70 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 68 def destroy(resource, params) @provider.destroy resource, params, @authorizer end |
#find(id, params) ⇒ Object
Returns resource object.
47 48 49 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 47 def find(id, params) @provider.find id, params, @authorizer end |
#new(params) ⇒ Object
Returns initialized object.
40 41 42 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 40 def new(params) @provider.new params, @authorizer end |
#paginate(query, params) ⇒ ActiveRecord::Relation
34 35 36 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 34 def paginate(query, params) @provider.paginate query, params end |
#permit(params) ⇒ ActionController::Parameters
21 22 23 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 21 def permit(params) @provider.permit params end |
#update(resource, params) ⇒ Object
Returns resource object.
61 62 63 |
# File 'lib/servicers/wallaby/abstract_model_servicer.rb', line 61 def update(resource, params) @provider.update resource, params, @authorizer end |