Class: ActiveRecordApi::Rest::Parameters
- Inherits:
-
Object
- Object
- ActiveRecordApi::Rest::Parameters
- Includes:
- ActiveAttr::Model
- Defined in:
- lib/active_record_api/rest/parameters.rb
Instance Attribute Summary collapse
-
#action_name ⇒ Object
Returns the value of attribute action_name.
-
#controller_name ⇒ Object
Returns the value of attribute controller_name.
-
#model_klass ⇒ Object
Returns the value of attribute model_klass.
-
#params ⇒ Object
Returns the value of attribute params.
Instance Method Summary collapse
- #additional_valid_params ⇒ Object
- #limit ⇒ Object
- #modifiable_params ⇒ Object
- #not_allowed_params ⇒ Object
- #offset ⇒ Object
- #page ⇒ Object
- #queryable_params ⇒ Object
- #required_parameters ⇒ Object
- #rest_valid_params ⇒ Object
- #valid_params(base_params) ⇒ Object
Instance Attribute Details
#action_name ⇒ Object
Returns the value of attribute action_name.
5 6 7 |
# File 'lib/active_record_api/rest/parameters.rb', line 5 def action_name @action_name end |
#controller_name ⇒ Object
Returns the value of attribute controller_name.
5 6 7 |
# File 'lib/active_record_api/rest/parameters.rb', line 5 def controller_name @controller_name end |
#model_klass ⇒ Object
Returns the value of attribute model_klass.
5 6 7 |
# File 'lib/active_record_api/rest/parameters.rb', line 5 def model_klass @model_klass end |
#params ⇒ Object
Returns the value of attribute params.
5 6 7 |
# File 'lib/active_record_api/rest/parameters.rb', line 5 def params @params end |
Instance Method Details
#additional_valid_params ⇒ Object
32 33 34 |
# File 'lib/active_record_api/rest/parameters.rb', line 32 def additional_valid_params [] end |
#limit ⇒ Object
20 21 22 |
# File 'lib/active_record_api/rest/parameters.rb', line 20 def limit @limit ||= params[:limit]&.to_i || 50 end |
#modifiable_params ⇒ Object
7 8 9 |
# File 'lib/active_record_api/rest/parameters.rb', line 7 def modifiable_params @modifiable ||= params.permit!.to_h.select! { |key, _value| valid_params(modifiable_names).include?(key.to_sym) } end |
#not_allowed_params ⇒ Object
40 41 42 |
# File 'lib/active_record_api/rest/parameters.rb', line 40 def not_allowed_params @not_allowed_params ||= clean_request_names - (valid_params(queryable_names) + Array.wrap(rest_valid_params) + Array.wrap(additional_valid_params)) end |
#offset ⇒ Object
24 25 26 |
# File 'lib/active_record_api/rest/parameters.rb', line 24 def offset @offset ||= (params[:offset]&.to_i || 0) + (limit * (page - 1)) end |
#page ⇒ Object
28 29 30 |
# File 'lib/active_record_api/rest/parameters.rb', line 28 def page @page ||= params[:page]&.to_i || 1 end |
#queryable_params ⇒ Object
11 12 13 |
# File 'lib/active_record_api/rest/parameters.rb', line 11 def queryable_params @queryable ||= params.permit!.to_h.select! { |key, _value| valid_params(queryable_names).include?(key.to_sym) } end |
#required_parameters ⇒ Object
44 45 46 |
# File 'lib/active_record_api/rest/parameters.rb', line 44 def required_parameters [] end |
#rest_valid_params ⇒ Object
36 37 38 |
# File 'lib/active_record_api/rest/parameters.rb', line 36 def rest_valid_params [:limit, :offset, :page] end |
#valid_params(base_params) ⇒ Object
15 16 17 18 |
# File 'lib/active_record_api/rest/parameters.rb', line 15 def valid_params(base_params) base_valid_params = base_params + ['organization_id'] + [:organization_id] + ['id'] + [:id] clean(base_valid_params) end |