Module: Yaoc::MapperDSLMethods

Included in:
ObjectMapper
Defined in:
lib/yaoc/object_mapper.rb

Instance Method Summary collapse

Instance Method Details

#add_mapping(&block) ⇒ Object



4
5
6
7
# File 'lib/yaoc/object_mapper.rb', line 4

def add_mapping(&block)
  instance_eval &block
  apply_commands!
end

#fetcher(new_fetcher) ⇒ Object



43
44
45
# File 'lib/yaoc/object_mapper.rb', line 43

def fetcher(new_fetcher)
  converter_builder.fetcher = new_fetcher
end

#noopObject



59
60
61
# File 'lib/yaoc/object_mapper.rb', line 59

def noop
  ->(_, result){ result }
end

#reverse_fetcher(new_fetcher) ⇒ Object



47
48
49
# File 'lib/yaoc/object_mapper.rb', line 47

def reverse_fetcher(new_fetcher)
  reverse_converter_builder.fetcher = new_fetcher
end

#reverse_strategy(new_strategy) ⇒ Object



55
56
57
# File 'lib/yaoc/object_mapper.rb', line 55

def reverse_strategy(new_strategy)
  reverse_converter_builder.strategy = new_strategy
end

#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)
  reverse_object_converter = Array(reverse_object_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

#strategy(new_strategy) ⇒ Object



51
52
53
# File 'lib/yaoc/object_mapper.rb', line 51

def strategy(new_strategy)
  converter_builder.strategy = new_strategy
end