Class: SetupConfiguration::MachineType
- Inherits:
-
Object
- Object
- SetupConfiguration::MachineType
- Includes:
- Enumerable
- Defined in:
- lib/setup_configuration/setup_config.rb
Constant Summary collapse
- RANGES =
[1000..1999, 2000..2999, 3000..3999, 4000..4999, 5000..5999, 6000..6999, 7000..7999, 8000..8999].freeze
Instance Attribute Summary collapse
-
#binary_number ⇒ Object
readonly
Returns the value of attribute binary_number.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#range ⇒ Object
readonly
Returns the value of attribute range.
-
#sequence_number ⇒ Object
readonly
Returns the value of attribute sequence_number.
-
#sequence_number_coded ⇒ Object
readonly
Returns the value of attribute sequence_number_coded.
Instance Method Summary collapse
- #<=>(machine_type) ⇒ Object
-
#initialize(name, sequence_number, range = nil) ⇒ MachineType
constructor
A new instance of MachineType.
Constructor Details
#initialize(name, sequence_number, range = nil) ⇒ MachineType
Returns a new instance of MachineType.
358 359 360 361 362 363 364 365 366 |
# File 'lib/setup_configuration/setup_config.rb', line 358 def initialize(name, sequence_number, range = nil) @name=name raise RuntimeError.new("ERROR: Number for machine type must be greater than 0: [name=#{name}] [number=#{sequence_number}]") if sequence_number <= 0 raise RuntimeError.new("ERROR: More than #{RANGES.length} different machine types are not supported: [name=#{name}] [number=#{sequence_number}]") if sequence_number > RANGES.length @sequence_number=sequence_number @sequence_number_coded = @sequence_number - 1 @range = range ? range : RANGES[@sequence_number_coded] @binary_number=2**@sequence_number_coded end |
Instance Attribute Details
#binary_number ⇒ Object (readonly)
Returns the value of attribute binary_number.
356 357 358 |
# File 'lib/setup_configuration/setup_config.rb', line 356 def binary_number @binary_number end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
352 353 354 |
# File 'lib/setup_configuration/setup_config.rb', line 352 def name @name end |
#range ⇒ Object (readonly)
Returns the value of attribute range.
353 354 355 |
# File 'lib/setup_configuration/setup_config.rb', line 353 def range @range end |
#sequence_number ⇒ Object (readonly)
Returns the value of attribute sequence_number.
354 355 356 |
# File 'lib/setup_configuration/setup_config.rb', line 354 def sequence_number @sequence_number end |
#sequence_number_coded ⇒ Object (readonly)
Returns the value of attribute sequence_number_coded.
355 356 357 |
# File 'lib/setup_configuration/setup_config.rb', line 355 def sequence_number_coded @sequence_number_coded end |
Instance Method Details
#<=>(machine_type) ⇒ Object
368 369 370 |
# File 'lib/setup_configuration/setup_config.rb', line 368 def <=>(machine_type) self.range.first <=> machine_type.range.first end |