class BELParser::Completion::RelationshipCompleter

Public Instance Methods

complete(string_literal, caret_position) click to toggle source
# File lib/bel_parser/completion.rb, line 905
def complete(string_literal, caret_position)
  @spec.relationships
    .select  { |relationship|
      relationship =~ /.*#{Regexp.quote(string_literal)}.*/i
    }
    .sort_by { |relationship| relationship.long }
    .map     { |relationship|
      make_completion(relationship)
    }
end
make_completion(relationship) click to toggle source
# File lib/bel_parser/completion.rb, line 916
def make_completion(relationship)
  short = relationship.short.to_s
  [
    relationship,
    relationship(
      short)
  ]
end