Module: RubstApi::Serializer

Defined in:
lib/rubst_api/model.rb

Class Method Summary collapse

Class Method Details

.dump(value) ⇒ Object



164
165
166
167
168
169
170
171
172
173
174
# File 'lib/rubst_api/model.rb', line 164

def dump(value)
  case value
  when Model then value.model_dump.transform_values { |item| dump(item) }
  when Hash then value.to_h { |key, item| [key, dump(item)] }
  when Array then value.map { |item| dump(item) }
  when Time, Date, DateTime then value.iso8601
  when Symbol then value.to_s
  else
    value.respond_to?(:to_h) && !value.is_a?(Struct) ? value.to_h : value
  end
end