Sha256: 072abee191fa42154830d055e33bb48be1bd0989bccf08512427d290e422c933
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
module Alba # Representing nested attribute # @api private class NestedAttribute # Setter for key_transformation, used when it's changed after class definition attr_writer :key_transformation # @param key_transformation [Symbol] determines how to transform keys # @param block [Proc] class body def initialize(key_transformation: :none, &block) @key_transformation = key_transformation @block = block end # @param object [Object] the object being serialized # @param params [Hash] params Hash inherited from Resource # @param within [Object, nil, false, true] determines what associations to be serialized. If not set, it serializes all associations. # @return [Hash] hash serialized from running the class body in the object def value(object:, params:, within:) resource_class = Alba.resource_class resource_class.transform_keys(@key_transformation) resource_class.class_eval(&@block) resource_class.new(object, params: params, within: within).serializable_hash end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alba-3.2.0 | lib/alba/nested_attribute.rb |