class Zapata::Predictor::Value

Public Class Methods

new(name, finder = nil) click to toggle source
# File lib/zapata/predictor/value.rb, line 8
def initialize(name, finder = nil)
  @name = name
  @finder = finder
end

Public Instance Methods

a_finder?(primitive) click to toggle source
# File lib/zapata/predictor/value.rb, line 21
def a_finder?(primitive)
  return false unless @finder

  primitive.class == @finder.class && primitive.name == @finder.name
end
choose() click to toggle source
# File lib/zapata/predictor/value.rb, line 13
def choose
  return Primitive::Raw.new(:nil, nil) if @name.nil?
  return @finder if @finder && FINAL_TYPES.include?(@finder.type)
  return Primitive::Raw.new(:super, @name) if possible_values.empty?

  Chooser.new(possible_values).by_probability
end
possible_values() click to toggle source
# File lib/zapata/predictor/value.rb, line 27
def possible_values
  Revolutionist.analysis_as_array.select do |element|
    !a_finder?(element) && element.name == @name
  end
end