class Wallaby::ModelServiceProvider

Model service provider interface

Public Class Methods

new(model_class, model_decorator) click to toggle source

@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

collection(_params, _authorizer) click to toggle source

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
create(_resource, _params, _authorizer) click to toggle source

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(_resource, _params, _authorizer) click to toggle source

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(_id, _params, _authorizer) click to toggle source

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
new(_params, _authorizer) click to toggle source

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(_query, _params) click to toggle source

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
permit(_params, _action, _authorizer) click to toggle source

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(_resource, _params, _authorizer) click to toggle source

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