class Yoda::Evaluation::CodeCompletion
Attributes
location[R]
@return [Parsing::Location]
registry[R]
@return [Store::Registry]
source[R]
@return [String]
Public Class Methods
new(registry, source, location)
click to toggle source
@param registry [Store::Registry] @param source [String] @param location [Parsing::Location]
# File lib/yoda/evaluation/code_completion.rb, line 21 def initialize(registry, source, location) @registry = registry @source = source @location = location end
Public Instance Methods
candidates()
click to toggle source
@return [Array<Model::CompletionItem>]
# File lib/yoda/evaluation/code_completion.rb, line 33 def candidates providers.select(&:providable?).map(&:candidates).flatten end
valid?()
click to toggle source
@return [true, false]
# File lib/yoda/evaluation/code_completion.rb, line 28 def valid? providers.any?(&:providable?) end
Private Instance Methods
const_provider()
click to toggle source
@return [ConstantProvider]
# File lib/yoda/evaluation/code_completion.rb, line 60 def const_provider @constant_provider ||= ConstProvider.new(registry, source_analyzer) end
method_provider()
click to toggle source
@return [MethodProvider]
# File lib/yoda/evaluation/code_completion.rb, line 50 def method_provider @method_provider ||= MethodProvider.new(registry, source_analyzer) end
providers()
click to toggle source
@return [Array<CodeCompletion::BaseProvider>]
# File lib/yoda/evaluation/code_completion.rb, line 40 def providers [method_provider, variable_provider, const_provider] end
source_analyzer()
click to toggle source
@return [Parsing::SourceAnalyzer]
# File lib/yoda/evaluation/code_completion.rb, line 45 def source_analyzer @source_analyzer ||= Parsing::SourceAnalyzer.from_source(source, location) end
variable_provider()
click to toggle source
@return [VariableProvider]
# File lib/yoda/evaluation/code_completion.rb, line 55 def variable_provider @variable_provider ||= VariableProvider.new(registry, source_analyzer) end