Class: Vizcore::DSL::MappingPresetBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/vizcore/dsl/mapping_preset_builder.rb

Overview

Collects reusable mapping definitions for layer-level reuse.

Instance Method Summary collapse

Constructor Details

#initialize(name:, strict: false) ⇒ MappingPresetBuilder

Returns a new instance of MappingPresetBuilder.

Parameters:

  • name (Symbol, String)

    preset identifier

  • strict (Boolean) (defaults to: false)

    strict mode behavior while building mapping preset



11
12
13
14
15
# File 'lib/vizcore/dsl/mapping_preset_builder.rb', line 11

def initialize(name:, strict: false)
  @name = name.to_sym
  @strict = !!strict
  @builder = LayerBuilder.new(name: "#{@name}_mapping_preset", strict: @strict)
end

Instance Method Details

#evaluate { ... } ⇒ Vizcore::DSL::MappingPresetBuilder

Evaluate mapping preset block.

Yields:

  • DSL block

Returns:



21
22
23
24
# File 'lib/vizcore/dsl/mapping_preset_builder.rb', line 21

def evaluate(&block)
  @builder.instance_eval(&block) if block
  self
end

#to_hHash

Returns serialized mapping preset payload.

Returns:

  • (Hash)

    serialized mapping preset payload



27
28
29
30
31
32
# File 'lib/vizcore/dsl/mapping_preset_builder.rb', line 27

def to_h
  {
    name: @name,
    mappings: deep_dup(@builder.to_h[:mappings] || [])
  }
end