Class: ActsAsCalculator::VariableSpec

Inherits:
Data
  • Object
show all
Defined in:
lib/acts_as_calculator/variable_spec.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



4
5
6
# File 'lib/acts_as_calculator/variable_spec.rb', line 4

def name
  @name
end

#requiredObject (readonly)

Returns the value of attribute required

Returns:

  • (Object)

    the current value of required



4
5
6
# File 'lib/acts_as_calculator/variable_spec.rb', line 4

def required
  @required
end

#source_configObject (readonly)

Returns the value of attribute source_config

Returns:

  • (Object)

    the current value of source_config



4
5
6
# File 'lib/acts_as_calculator/variable_spec.rb', line 4

def source_config
  @source_config
end

#source_typeObject (readonly)

Returns the value of attribute source_type

Returns:

  • (Object)

    the current value of source_type



4
5
6
# File 'lib/acts_as_calculator/variable_spec.rb', line 4

def source_type
  @source_type
end

Class Method Details

.build(source) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/acts_as_calculator/variable_spec.rb', line 5

def self.build(source)
  attributes = source.is_a?(Hash) ? source : read_from(source)
  attributes = attributes.transform_keys(&:to_sym)
  required = attributes[:required]
  required = true if required.nil?

  new(
    name: attributes.fetch(:name).to_s,
    source_type: (attributes[:source_type] || :context).to_sym,
    source_config: (attributes[:source_config] || {}).transform_keys(&:to_sym),
    required:
  )
end

Instance Method Details

#defaultObject



29
30
31
# File 'lib/acts_as_calculator/variable_spec.rb', line 29

def default
  source_config[:default]
end