Class: Toys::Completion::Enum

Inherits:
Base
  • Object
show all
Defined in:
lib/toys/completion.rb

Overview

A Completion whose candidates come from a static list of strings.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ Enum

Create a completion from a list of values.

Parameters:

  • values (Array<String>)


349
350
351
352
# File 'lib/toys/completion.rb', line 349

def initialize(values)
  super()
  @values = values.flatten.uniq.map { |v| Candidate.new(v) }.sort
end

Instance Attribute Details

#valuesArray<Toys::Completion::Candidate> (readonly)

The array of completion candidates.

Returns:



358
359
360
# File 'lib/toys/completion.rb', line 358

def values
  @values
end

Instance Method Details

#call(context) ⇒ Array<Toys::Completion::Candidate>

Returns candidates for the current completion.

Parameters:

Returns:



367
368
369
370
# File 'lib/toys/completion.rb', line 367

def call(context)
  fragment = context.fragment
  @values.find_all { |val| val.string.start_with?(fragment) }
end