class Reflekt::BooleanRule

Public Class Methods

new() click to toggle source
# File lib/rules/boolean_rule.rb, line 7
def initialize()
  @type = :bool
  @booleans = Set.new()
end

Public Instance Methods

random() click to toggle source
# File lib/rules/boolean_rule.rb, line 38
def random()
  @booleans.to_a.sample
end
result() click to toggle source
# File lib/rules/boolean_rule.rb, line 31
def result()
  {
    :type => @type,
    :booleans => @booleans
  }
end
test(value) click to toggle source

@param value [Boolean]

# File lib/rules/boolean_rule.rb, line 26
def test(value)
  # Booleans are stored as strings.
  @booleans.include? value.to_s
end
train(meta) click to toggle source

@param meta [BooleanMeta]

# File lib/rules/boolean_rule.rb, line 15
def train(meta)
  value = meta[:value]

  unless value.nil?
    @booleans << value
  end
end