Module: Mutils::Serialization::Methods::Relations

Defined in:
lib/mutils/serialization/methods/relations.rb

Overview

Module Relations

Instance Method Summary collapse

Instance Method Details

#prepare_options(relationship_name, options, option_name) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/mutils/serialization/methods/relations.rb', line 23

def prepare_options(relationship_name, options, option_name)
  serializer, always_include, label = options.values_at(:serializer, :always_include, :label)
  serializer = fetch_serializer!(relationship_name, serializer, option_name)

  options.merge(
    serializer: serializer.to_s,
    always_include: default_always_include(always_include),
    label: relation_label(label, relationship_name)
  )
end

#relationship(relationship_name, options = {}) ⇒ Object Also known as: belongs_to, has_many, has_one



11
12
13
14
15
16
17
# File 'lib/mutils/serialization/methods/relations.rb', line 11

def relationship(relationship_name, options = {})
  raise "if: should be a Proc object for relationship #{relationship_name}" if options[:if] && !options[:if].instance_of?(Proc)

  options = prepare_options(relationship_name, options, __callee__)
  self.relationships = {} if relationships.nil?
  relationships[relationship_name] = options
end