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 11 |
# File 'lib/json_api/serialization/concerns/attributes_deserialization.rb', line 6 def attributes attrs = extract_attributes_from_params attrs = attrs.transform_keys(&:to_sym) if attrs.respond_to?(:transform_keys) permitted_attrs = permitted_attributes_for_action attrs.slice(*permitted_attrs) end |
#extract_attributes_from_params ⇒ Object
13 14 15 |
# File 'lib/json_api/serialization/concerns/attributes_deserialization.rb', line 13 def extract_attributes_from_params @params.dig(:data, :attributes) || @params[:attributes] || {} end |
#permitted_attributes_for_action ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/json_api/serialization/concerns/attributes_deserialization.rb', line 17 def permitted_attributes_for_action fields = if @action == :create @definition.permitted_creatable_fields else @definition.permitted_updatable_fields end fields.map(&:to_sym) end |