Class: Rust::FactorValue

Inherits:
Object show all
Defined in:
lib/rust/core/types/factor.rb

Overview

Represents a single value in a factor.

Instance Method Summary collapse

Constructor Details

#initialize(value, level) ⇒ FactorValue

Creates a factor with a given value (numeric) and level (symbolic).



107
108
109
110
# File 'lib/rust/core/types/factor.rb', line 107

def initialize(value, level)
    @value = value
    @level = level
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



158
159
160
# File 'lib/rust/core/types/factor.rb', line 158

def method_missing(method, *args, &block)
    @level.method(method).call(*args, &block)
end

Instance Method Details

#==(other) ⇒ Object



140
141
142
143
144
145
146
147
148
# File 'lib/rust/core/types/factor.rb', line 140

def ==(other)
    if other.is_a?(FactorValue)
        @value == other.value && @level == other.level
    elsif other.is_a?(Integer)
        @value == other
    elsif other.is_a?(Symbol)
        @level == other
    end
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


154
155
156
# File 'lib/rust/core/types/factor.rb', line 154

def eql?(other)
    return self == other
end

#hashObject



150
151
152
# File 'lib/rust/core/types/factor.rb', line 150

def hash
    @value.hash + @level.hash
end

#inspectObject



136
137
138
# File 'lib/rust/core/types/factor.rb', line 136

def inspect
    @level.inspect
end

#levelObject



116
117
118
# File 'lib/rust/core/types/factor.rb', line 116

def level
    @level
end

#to_iObject



120
121
122
# File 'lib/rust/core/types/factor.rb', line 120

def to_i
    @value
end

#to_RObject



132
133
134
# File 'lib/rust/core/types/factor.rb', line 132

def to_R
    self.to_i
end

#to_strObject



128
129
130
# File 'lib/rust/core/types/factor.rb', line 128

def to_str
   @level.to_s
end

#to_symObject



124
125
126
# File 'lib/rust/core/types/factor.rb', line 124

def to_sym
    @level
end

#valueObject



112
113
114
# File 'lib/rust/core/types/factor.rb', line 112

def value
    @value
end