class Wallaby::ModelServiceProvider
Model service provider interface
Public Class Methods
@param model_class [Class] @param model_decorator [Wallaby::ModelDecorator, nil] model decorator
# File lib/interfaces/wallaby/model_service_provider.rb, line 8 def initialize(model_class, model_decorator) raise ::ArgumentError, 'model class required' unless model_class @model_class = model_class @model_decorator = model_decorator end
Public Instance Methods
Fetch collection by params @param _params [ActionController::Parameters] @param _authorizer @return [#to_a]
# File lib/interfaces/wallaby/model_service_provider.rb, line 28 def collection(_params, _authorizer) raise NotImplemented end
Save the newly initialized resource @param _resource [Object] @param _params [ActionController::Parameters] @param _authorizer @return a resource object
# File lib/interfaces/wallaby/model_service_provider.rb, line 62 def create(_resource, _params, _authorizer) raise NotImplemented end
Destroy the given resource @param _resource [Object] @param _params [ActionController::Parameters] @param _authorizer @return a resource object
# File lib/interfaces/wallaby/model_service_provider.rb, line 80 def destroy(_resource, _params, _authorizer) raise NotImplemented end
Find a resource using id @param _id [Object] @param _params [ActionController::Parameters] @param _authorizer @return a resource object
# File lib/interfaces/wallaby/model_service_provider.rb, line 53 def find(_id, _params, _authorizer) raise NotImplemented end
Initialize the model class using params @param _params [ActionController::Parameters] @param _authorizer @return a resource object
# File lib/interfaces/wallaby/model_service_provider.rb, line 44 def new(_params, _authorizer) raise NotImplemented end
Paginate the resources @param _query @param _params [ActionController::Parameters] @return [#to_a]
# File lib/interfaces/wallaby/model_service_provider.rb, line 36 def paginate(_query, _params) raise NotImplemented end
To whitelist params for a model class @param _params [ActionController::Parameters] @param _action [String, Symbol] @param _authorizer [Wallaby::ModelAuthorizer] @return [ActionController::Parameters] whitelisted params
# File lib/interfaces/wallaby/model_service_provider.rb, line 20 def permit(_params, _action, _authorizer) raise NotImplemented end
Update the persisted resource @param _resource [Object] @param _params [ActionController::Parameters] @param _authorizer @return a resource object
# File lib/interfaces/wallaby/model_service_provider.rb, line 71 def update(_resource, _params, _authorizer) raise NotImplemented end