Method: Yaoc::MapperDSLMethods#rule

Defined in:
lib/yaoc/object_mapper.rb

#rule(to: nil, from: to, converter: nil, reverse_to: from, reverse_from: to, reverse_converter: nil, object_converter: nil, reverse_object_converter: object_converter, is_collection: nil, lazy_loading: nil, reverse_lazy_loading: lazy_loading) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/yaoc/object_mapper.rb', line 9

def rule(to: nil,
    from: to,
    converter: nil,
    reverse_to: from,
    reverse_from: to,
    reverse_converter: nil,
    object_converter: nil,
    reverse_object_converter: object_converter,
    is_collection: nil,
    lazy_loading: nil,
    reverse_lazy_loading: lazy_loading)

  object_converter = Array(object_converter).map{|converter| converter.is_a?(Symbol) ? registry.for(converter) : converter}
  reverse_object_converter = Array(reverse_object_converter).map{|converter| converter.is_a?(Symbol) ? registry.for(converter) : converter}

  converter_builder.rule(
      to: to,
      from: from,
      converter: converter,
      object_converter: object_converter.map(&:converter),
      is_collection: is_collection,
      lazy_loading: lazy_loading
  )

  reverse_converter_builder.rule(
      to: reverse_to,
      from: reverse_from,
      converter: reverse_converter,
      object_converter: reverse_object_converter.map(&:reverse_converter),
      is_collection: is_collection,
      lazy_loading: reverse_lazy_loading
  )
end