Class: Zapata::Predictor::Value
- Inherits:
-
Object
- Object
- Zapata::Predictor::Value
- Extended by:
- Memoist
- Defined in:
- lib/zapata/predictor/value.rb
Instance Method Summary collapse
- #a_finder?(primitive) ⇒ Boolean
- #choose ⇒ Object
-
#initialize(name, finder = nil) ⇒ Value
constructor
A new instance of Value.
- #possible_values ⇒ Object
Constructor Details
#initialize(name, finder = nil) ⇒ Value
Returns a new instance of Value.
8 9 10 11 |
# File 'lib/zapata/predictor/value.rb', line 8 def initialize(name, finder = nil) @name = name @finder = finder end |
Instance Method Details
#a_finder?(primitive) ⇒ Boolean
21 22 23 24 25 |
# 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 ⇒ Object
13 14 15 16 17 18 19 |
# 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 ⇒ Object
27 28 29 30 31 |
# 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 |