Class: Wallaby::ActiveRecord::ModelServiceProvider
- Inherits:
-
ModelServiceProvider
show all
- Defined in:
- lib/adaptors/wallaby/active_record/model_service_provider.rb,
lib/adaptors/wallaby/active_record/model_service_provider/querier.rb,
lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb,
lib/adaptors/wallaby/active_record/model_service_provider/validator.rb,
lib/adaptors/wallaby/active_record/model_service_provider/normalizer.rb,
lib/adaptors/wallaby/active_record/model_service_provider/querier/transformer.rb
Overview
Defined Under Namespace
Classes: Normalizer, Permitter, Querier, Validator
Instance Method Summary
collapse
-
#collection(params, authorizer) ⇒ Object
-
#create(resource_with_new_value, params, authorizer) ⇒ Object
-
#destroy(resource, _params, _authorizer) ⇒ Object
-
#find(id, permitted_params, _authorizer) ⇒ Object
-
#new(permitted_params, _authorizer) ⇒ Object
-
#paginate(query, params) ⇒ Object
-
#permit(params) ⇒ Object
-
#update(resource_with_new_value, params, authorizer) ⇒ Object
#initialize
Instance Method Details
#collection(params, authorizer) ⇒ Object
12
13
14
15
16
17
18
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 12
def collection(params, authorizer)
query = querier.search params
query = query.order params[:sort] if params[:sort].present?
query.accessible_by authorizer
end
|
#create(resource_with_new_value, params, authorizer) ⇒ Object
47
48
49
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 47
def create(resource_with_new_value, params, authorizer)
save __callee__, resource_with_new_value, params, authorizer
end
|
#destroy(resource, _params, _authorizer) ⇒ Object
57
58
59
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 57
def destroy(resource, _params, _authorizer)
resource.destroy
end
|
#find(id, permitted_params, _authorizer) ⇒ Object
36
37
38
39
40
41
42
43
44
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 36
def find(id, permitted_params, _authorizer)
resource = @model_class.find id
resource.assign_attributes normalize permitted_params
resource
rescue ::ActiveRecord::RecordNotFound
raise ResourceNotFound, id
rescue ::ActiveModel::UnknownAttributeError
resource
end
|
#new(permitted_params, _authorizer) ⇒ Object
29
30
31
32
33
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 29
def new(permitted_params, _authorizer)
@model_class.new normalize permitted_params
rescue ::ActiveModel::UnknownAttributeError
@model_class.new
end
|
#paginate(query, params) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 21
def paginate(query, params)
per = params[:per] || Wallaby.configuration..page_size
query = query.page params[:page] if query.respond_to? :page
query = query.per per if query.respond_to? :per
query
end
|
#permit(params) ⇒ Object
7
8
9
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 7
def permit(params)
params.require(param_key).permit permitted_fields
end
|
#update(resource_with_new_value, params, authorizer) ⇒ Object
52
53
54
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 52
def update(resource_with_new_value, params, authorizer)
save __callee__, resource_with_new_value, params, authorizer
end
|