Module: Puppet::Pops::Types::PIntegerType::ClassModule

Includes:
Enumerable
Defined in:
lib/puppet/pops/types/types.rb

Instance Method Summary collapse

Instance Method Details

#==(o) ⇒ Object



139
140
141
# File 'lib/puppet/pops/types/types.rb', line 139

def ==(o)
  self.class == o.class && from == o.from && to == o.to
end

#eachObject

Returns Enumerator if no block is given Returns self if size is infinity (does not yield)



129
130
131
132
133
# File 'lib/puppet/pops/types/types.rb', line 129

def each
  return self.to_enum unless block_given?
  return nil if from.nil? || to.nil?
  from.upto(to) {|x| yield x }
end

#hashObject



135
136
137
# File 'lib/puppet/pops/types/types.rb', line 135

def hash
  [self.class, from, to].hash
end

#rangeObject

Returns the range as an array ordered so the smaller number is always first. The number may be Infinity or -Infinity.



121
122
123
124
125
# File 'lib/puppet/pops/types/types.rb', line 121

def range
  f = from || NEGATIVE_INFINITY
  t = to || INFINITY
  [f, t]
end

#sizeObject

Returns Float.Infinity if one end of the range is unbound



114
115
116
117
# File 'lib/puppet/pops/types/types.rb', line 114

def size
  return INFINITY if from.nil? || to.nil?
  1+(to-from).abs
end