Module: Yaoc::BuilderDSLMethods

Included in:
ConverterBuilder
Defined in:
lib/yaoc/converter_builder.rb

Instance Method Summary collapse

Instance Method Details

#add_mapping(&block) ⇒ Object



53
54
55
56
# File 'lib/yaoc/converter_builder.rb', line 53

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

#build_commands_orderedObject



74
75
76
77
78
79
80
# File 'lib/yaoc/converter_builder.rb', line 74

def build_commands_ordered
  if command_order == :recorded_order
    build_commands
  else
    build_commands.reverse
  end
end

#fetch_with(new_fetcher) ⇒ Object



66
67
68
# File 'lib/yaoc/converter_builder.rb', line 66

def fetch_with(new_fetcher)
  self.fetcher = new_fetcher
end

#noopObject



82
83
84
# File 'lib/yaoc/converter_builder.rb', line 82

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

#rule(to: nil, from: to, converter: nil, object_converter: nil, is_collection: nil, lazy_loading: nil) ⇒ Object



58
59
60
61
62
63
64
# File 'lib/yaoc/converter_builder.rb', line 58

def rule(to: nil, from: to, converter: nil, object_converter: nil, is_collection: nil, lazy_loading: nil)
  self.all_commands_applied = false

  NormalizedParameters.new(to, from, converter, object_converter, is_collection, lazy_loading).each do |to, from, converter, lazy_loading|
    build_commands.push  -> { converter_class.map(to: to, from: from , converter: converter, lazy_loading: lazy_loading) }
  end
end

#with_strategy(new_strategy) ⇒ Object



70
71
72
# File 'lib/yaoc/converter_builder.rb', line 70

def with_strategy(new_strategy)
  self.strategy = new_strategy
end