Module: Rubyzen::Providers::RequiresProvider

Included in:
Declarations::FileDeclaration
Defined in:
lib/rubyzen/providers/requires_provider.rb

Overview

Provides access to require, require_relative, and load statements within a declaration.

Instance Method Summary collapse

Instance Method Details

#requiresRubyzen::Collections::RequiresCollection

Returns collection of require declarations.

Returns:



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/rubyzen/providers/requires_provider.rb', line 6

def requires
  require_nodes = node.each_descendant(:send).select do |send_node|
    %w[require require_relative load].include?(send_node.method_name.to_s)
  end

  require_declarations = require_nodes.map do |require_node|
    Rubyzen::Declarations::RequireDeclaration.new(require_node, self)
  end

  Rubyzen::Collections::RequiresCollection.new(require_declarations)
end