Class: Lutaml::Model::ModelTransformer

Inherits:
Object
  • Object
show all
Defined in:
lib/lutaml/model/model_transformer.rb

Class Method Summary collapse

Class Method Details

.reverse_transform(input = nil, mapping: false, &block) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/lutaml/model/model_transformer.rb', line 26

def reverse_transform(input = nil, mapping: false, &block)
  if input
    transform_to_source(input, mapping: mapping)
  elsif transformation_block?(block)
    @reverse_transform_method = block
  else
    raise ReverseTransformationDeclarationError,
          "Cannot declare reverse_transform for Model to Model transformation"
  end
end

.source(source) ⇒ Object



7
8
9
# File 'lib/lutaml/model/model_transformer.rb', line 7

def source(source)
  @source = get_type(source)
end

.target(target) ⇒ Object



11
12
13
# File 'lib/lutaml/model/model_transformer.rb', line 11

def target(target)
  @target = get_type(target)
end

.transform(input = nil, mapping: false, &block) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/lutaml/model/model_transformer.rb', line 15

def transform(input = nil, mapping: false, &block)
  if input
    transform_to_target(input, mapping: mapping)
  elsif transformation_block?(block)
    @transform_method = block
  else
    @mapping = ModelMapping.new(@source, @target, self)
    @mapping.instance_eval(&block)
  end
end