Class: Solve::Solver::VariableRow

Inherits:
Object
  • Object
show all
Defined in:
lib/solve/solver/variable_row.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(artifact, source) ⇒ VariableRow

Returns a new instance of VariableRow.

Parameters:

  • artifact (String)
  • source (String, Symbol)


10
11
12
13
14
# File 'lib/solve/solver/variable_row.rb', line 10

def initialize(artifact, source)
  @artifact = artifact
  @value = nil
  @sources = Array(source)
end

Instance Attribute Details

#artifactObject (readonly)

Returns the value of attribute artifact.



4
5
6
# File 'lib/solve/solver/variable_row.rb', line 4

def artifact
  @artifact
end

#sourcesObject (readonly)

Returns the value of attribute sources.



6
7
8
# File 'lib/solve/solver/variable_row.rb', line 6

def sources
  @sources
end

#valueObject (readonly)

Returns the value of attribute value.



5
6
7
# File 'lib/solve/solver/variable_row.rb', line 5

def value
  @value
end

Instance Method Details

#add_source(source) ⇒ Object

Parameters:

  • source (String, Symbol)


17
18
19
# File 'lib/solve/solver/variable_row.rb', line 17

def add_source(source)
  @sources << source
end

#bind(value) ⇒ Object



25
26
27
# File 'lib/solve/solver/variable_row.rb', line 25

def bind(value)
  @value = value
end

#bound?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/solve/solver/variable_row.rb', line 33

def bound?
  !@value.nil?
end

#last_sourceObject



21
22
23
# File 'lib/solve/solver/variable_row.rb', line 21

def last_source
  @sources.last
end

#remove_source(source) ⇒ Object

Parameters:

  • source (String, Symbol)


38
39
40
# File 'lib/solve/solver/variable_row.rb', line 38

def remove_source(source)
  @sources.delete(source)
end

#unbindObject



29
30
31
# File 'lib/solve/solver/variable_row.rb', line 29

def unbind
  @value = nil
end