Class: Randrizer::Types::Float

Inherits:
BaseType
  • Object
show all
Defined in:
lib/randrizer/types/float.rb

Constant Summary collapse

DEFAULT_MIN =
0.0
DEFAULT_MAX =
9_999_999_999.0

Instance Method Summary collapse

Constructor Details

#initialize(min: DEFAULT_MIN, max: DEFAULT_MAX) ⇒ Float

Returns a new instance of Float.



11
12
13
14
# File 'lib/randrizer/types/float.rb', line 11

def initialize(min: DEFAULT_MIN, max: DEFAULT_MAX)
  @min = min
  @max = max
end

Instance Method Details

#evalObject



22
23
24
25
26
# File 'lib/randrizer/types/float.rb', line 22

def eval
  return @min if @min == @max

  rand * (@max - @min) + @min
end

#validate!Object



16
17
18
19
20
# File 'lib/randrizer/types/float.rb', line 16

def validate!
  return if @max >= @min

  raise ValidationError("invalid min/max configuration")
end