class Randrizer::Types::Optional

Constants

PRESENCE_MAYBE

Public Class Methods

new(inner_type:, presence_prob: PRESENCE_MAYBE) click to toggle source
# File lib/randrizer/types/optional.rb, line 11
def initialize(inner_type:, presence_prob: PRESENCE_MAYBE)
  @inner_type = inner_type
  @presence_prob = presence_prob
end

Public Instance Methods

eval() click to toggle source
# File lib/randrizer/types/optional.rb, line 21
def eval
  return SKIP if rand > @presence_prob

  @inner_type.eval
end
validate!() click to toggle source
# File lib/randrizer/types/optional.rb, line 16
def validate!
  raise ValidationError("presence_prob must be < 1.0") if @presence_prob > 1.0
  raise ValidationError("presence_prob must be > 0.0") if @presence_prob < 0.0
end