Module: JSONAPI::Serialization::AttributesDeserialization
- Included in:
- Deserializer
- Defined in:
- lib/json_api/serialization/concerns/attributes_deserialization.rb
Instance Method Summary collapse
- #attributes ⇒ Object
- #extract_attributes_from_params ⇒ Object
- #permitted_attributes_for_action ⇒ Object
Instance Method Details
#attributes ⇒ Object
6 7 8 9 10 |
# File 'lib/json_api/serialization/concerns/attributes_deserialization.rb', line 6 def attributes attrs = ParamHelpers.ensure_object!(extract_attributes_from_params, "data.attributes") permitted_attrs = permitted_attributes_for_action attrs.transform_keys(&:to_sym).slice(*permitted_attrs) end |
#extract_attributes_from_params ⇒ Object
12 13 14 |
# File 'lib/json_api/serialization/concerns/attributes_deserialization.rb', line 12 def extract_attributes_from_params @params.dig(:data, :attributes) || @params[:attributes] || {} end |
#permitted_attributes_for_action ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/json_api/serialization/concerns/attributes_deserialization.rb', line 16 def permitted_attributes_for_action fields = if @action == :create @definition.permitted_creatable_fields else @definition.permitted_updatable_fields end fields.map(&:to_sym) end |