Class: Vizcore::DSL::MappingTransformBuilder

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

Overview

Collects block-style mapping transform options.

Instance Method Summary collapse

Constructor Details

#initialize(initial = {}) ⇒ MappingTransformBuilder

Returns a new instance of MappingTransformBuilder.

Parameters:

  • initial (Hash) (defaults to: {})


8
9
10
11
12
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 8

def initialize(initial = {})
  @values = initial.each_with_object({}) do |(key, value), output|
    output[key.to_sym] = value
  end
end

Instance Method Details

#curve(value) ⇒ Symbol, String

Parameters:

  • value (Symbol, String)

Returns:

  • (Symbol, String)


46
47
48
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 46

def curve(value)
  @values[:curve] = value
end

#deadzone(value) ⇒ Numeric

Parameters:

  • value (Numeric)

Returns:

  • (Numeric)


52
53
54
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 52

def deadzone(value)
  @values[:deadzone] = value
end

#evaluate(&block) ⇒ Vizcore::DSL::MappingTransformBuilder



15
16
17
18
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 15

def evaluate(&block)
  instance_eval(&block) if block
  self
end

#gain(value) ⇒ Numeric

Parameters:

  • value (Numeric)

Returns:

  • (Numeric)


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

def gain(value)
  @values[:gain] = value
end

#max(value) ⇒ Numeric

Parameters:

  • value (Numeric)

Returns:

  • (Numeric)


40
41
42
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 40

def max(value)
  @values[:max] = value
end

#min(value) ⇒ Numeric

Parameters:

  • value (Numeric)

Returns:

  • (Numeric)


34
35
36
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 34

def min(value)
  @values[:min] = value
end

#range(value) ⇒ Range, Array

Parameters:

  • value (Range, Array)

Returns:

  • (Range, Array)


28
29
30
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 28

def range(value)
  @values[:range] = value
end

#smooth(attack: nil, release: nil) ⇒ Hash

Parameters:

  • attack (Numeric, nil) (defaults to: nil)
  • release (Numeric, nil) (defaults to: nil)

Returns:

  • (Hash)


59
60
61
62
63
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 59

def smooth(attack: nil, release: nil)
  @values[:attack] = attack unless attack.nil?
  @values[:release] = release unless release.nil?
  @values
end

#to_hHash

Returns:

  • (Hash)


66
67
68
# File 'lib/vizcore/dsl/mapping_transform_builder.rb', line 66

def to_h
  @values.dup
end