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
14
15
16
17
18
19
20
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 14
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
49
50
51
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 49
def create(resource_with_new_value, params, authorizer)
save __callee__, resource_with_new_value, params, authorizer
end
|
#destroy(resource, _params, _authorizer) ⇒ Object
59
60
61
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 59
def destroy(resource, _params, _authorizer)
resource.destroy
end
|
#find(id, permitted_params, _authorizer) ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 38
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
31
32
33
34
35
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 31
def new(permitted_params, _authorizer)
@model_class.new normalize permitted_params
rescue ::ActiveModel::UnknownAttributeError
@model_class.new
end
|
#paginate(query, params) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 23
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
10
11
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 7
def permit(params)
return {} if params[param_key].blank?
params.fetch(param_key, {}).permit permitted_fields
end
|
#update(resource_with_new_value, params, authorizer) ⇒ Object
54
55
56
|
# File 'lib/adaptors/wallaby/active_record/model_service_provider.rb', line 54
def update(resource_with_new_value, params, authorizer)
save __callee__, resource_with_new_value, params, authorizer
end
|