Class: Solve::Solver::Variable

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

Overview

Author:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(package, source) ⇒ Variable

Returns a new instance of Variable.



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

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

Instance Attribute Details

#packageObject (readonly)

Returns the value of attribute package.



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

def package
  @package
end

#sourcesObject (readonly)

Returns the value of attribute sources.



8
9
10
# File 'lib/solve/solver/variable.rb', line 8

def sources
  @sources
end

#valueObject (readonly)

Returns the value of attribute value.



7
8
9
# File 'lib/solve/solver/variable.rb', line 7

def value
  @value
end

Instance Method Details

#add_source(source) ⇒ Object



16
17
18
# File 'lib/solve/solver/variable.rb', line 16

def add_source(source)
  @sources << source
end

#bind(value) ⇒ Object



24
25
26
# File 'lib/solve/solver/variable.rb', line 24

def bind(value)
  @value = value
end

#bound?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/solve/solver/variable.rb', line 32

def bound?
  !@value.nil?
end

#last_sourceObject



20
21
22
# File 'lib/solve/solver/variable.rb', line 20

def last_source
  @sources.last
end

#remove_source(source) ⇒ Object



36
37
38
# File 'lib/solve/solver/variable.rb', line 36

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

#unbindObject



28
29
30
# File 'lib/solve/solver/variable.rb', line 28

def unbind
  @value = nil
end