Sha256: 683858c6482fc75d961bc5bf70d52f66aea72ab99b1102fee1dab858bb0b5da1
Contents?: true
Size: 853 Bytes
Versions: 1
Compression:
Stored size: 853 Bytes
Contents
# frozen_string_literal: true module Zapata module Predictor class Value extend Memoist def initialize(name, finder = nil) @name = name @finder = finder end 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 def a_finder?(primitive) return false unless @finder primitive.class == @finder.class && primitive.name == @finder.name end def possible_values Revolutionist.analysis_as_array.select do |element| !a_finder?(element) && element.name == @name end end memoize :possible_values end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zapata-1.0.0 | lib/zapata/predictor/value.rb |