Class: Ducktrap::Mapper::Builder

Inherits:
Builder
  • Object
show all
Defined in:
lib/ducktrap/mapper.rb

Overview

Builder for mapper

Instance Attribute Summary

Attributes inherited from Builder

#klass

Instance Method Summary collapse

Instance Method Details

#dumper(&block) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Capture dumper block

Returns:

  • (self)


37
38
39
40
41
# File 'lib/ducktrap/mapper.rb', line 37

def dumper(&block)
  @dumper = Ducktrap.build(&block)
  @loader ||= @dumper.inverse
  self
end

#loader(&block) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Capture loader block

Returns:

  • (self)


25
26
27
28
29
# File 'lib/ducktrap/mapper.rb', line 25

def loader(&block)
  @loader = Ducktrap.build(&block)
  @dumper ||= @loader.inverse
  self
end

#objectMapper

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return mapper

Returns:



49
50
51
52
53
54
55
# File 'lib/ducktrap/mapper.rb', line 49

def object
  unless @loader or @dumper
    raise 'Did not specify loader or dumper or both'
  end

  klass.new(@loader, @dumper)
end