Class: Factorix::SerDes::SignedInteger
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Factorix::SerDes::SignedInteger
- Defined in:
- lib/factorix/ser_des/signed_integer.rb
Overview
Signed integer wrapper
This class wraps an Integer value to indicate it was originally stored as a signed integer (Type 6) in Factorio’s Property Tree format.
Instance Method Summary collapse
-
#==(other) ⇒ Boolean
(also: #eql?)
Compare with another SignedInteger or Integer.
-
#hash ⇒ Integer
Hash code for use in Hash keys.
-
#initialize(value) ⇒ SignedInteger
constructor
Create a new SignedInteger.
-
#inspect ⇒ String
String representation.
-
#value ⇒ Integer
Get the underlying integer value.
Constructor Details
#initialize(value) ⇒ SignedInteger
Create a new SignedInteger
23 24 25 26 27 |
# File 'lib/factorix/ser_des/signed_integer.rb', line 23 def initialize(value) raise ArgumentError, "value must be an Integer" unless value.is_a?(Integer) super end |
Instance Method Details
#==(other) ⇒ Boolean Also known as: eql?
Compare with another SignedInteger or Integer
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/factorix/ser_des/signed_integer.rb', line 38 def ==(other) case other when SignedInteger value == other.value when Integer value == other else false end end |
#hash ⇒ Integer
Hash code for use in Hash keys
52 |
# File 'lib/factorix/ser_des/signed_integer.rb', line 52 def hash = [value, :signed].hash |
#inspect ⇒ String
String representation
60 |
# File 'lib/factorix/ser_des/signed_integer.rb', line 60 def inspect = "#<Factorix::SerDes::SignedInteger:0x%016x value=#{value}>" % object_id |
#value ⇒ Integer
Get the underlying integer value
32 |
# File 'lib/factorix/ser_des/signed_integer.rb', line 32 def value = __getobj__ |