Module: JPie::Controller::CrudActions
- Extended by:
- ActiveSupport::Concern
- Included in:
- JPie::Controller
- Defined in:
- lib/jpie/controller/crud_actions.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
-
#index ⇒ Object
These methods can still be called manually or used to override defaults.
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
108 109 110 111 112 113 |
# File 'lib/jpie/controller/crud_actions.rb', line 108 def create validate_json_api_request attributes = deserialize_params resource = model_class.create!(attributes) render_jsonapi(resource, status: :created) end |
#destroy ⇒ Object
123 124 125 126 127 |
# File 'lib/jpie/controller/crud_actions.rb', line 123 def destroy resource = resource_class.scope(context).find(params[:id]) resource.destroy! head :no_content end |
#index ⇒ Object
These methods can still be called manually or used to override defaults
88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/jpie/controller/crud_actions.rb', line 88 def index validate_include_params validate_sort_params resources = resource_class.scope(context) sort_fields = parse_sort_params resources = resource_class.sort(resources, sort_fields) if sort_fields.any? pagination_params = parse_pagination_params original_resources = resources resources = apply_pagination(resources, pagination_params) render_jsonapi(resources, pagination: pagination_params, original_scope: original_resources) end |
#show ⇒ Object
102 103 104 105 106 |
# File 'lib/jpie/controller/crud_actions.rb', line 102 def show validate_include_params resource = resource_class.scope(context).find(params[:id]) render_jsonapi(resource) end |
#update ⇒ Object
115 116 117 118 119 120 121 |
# File 'lib/jpie/controller/crud_actions.rb', line 115 def update validate_json_api_request resource = resource_class.scope(context).find(params[:id]) attributes = deserialize_params resource.update!(attributes) render_jsonapi(resource) end |