Module: Solargraph::YardMap::Directives::DomainDirective

Defined in:
lib/solargraph/yard_map/directives/domain_directive.rb

Class Method Summary collapse

Class Method Details

.closure_at(pins, position) ⇒ Pin::Namespace

Parameters:

Returns:



24
25
26
# File 'lib/solargraph/yard_map/directives/domain_directive.rb', line 24

def closure_at pins, position
  pins.select { |pin| pin.is_a?(Pin::Namespace) and pin.location&.range&.contain?(position) }.last
end

.process_directive(source, pins, source_position, _comment_position, directive) ⇒ Array<Solargraph::Pin::Method>

Parameters:

Returns:



15
16
17
18
19
# File 'lib/solargraph/yard_map/directives/domain_directive.rb', line 15

def process_directive source, pins, source_position, _comment_position, directive
  namespace = closure_at(pins, source_position) || Pin::ROOT_PIN
  namespace.domains.concat directive.tag.types unless directive.tag.types.nil?
  []
end