Module: Rubyzen::Providers::RaisesProvider

Included in:
Declarations::BlockDeclaration, Declarations::ClassDeclaration, Declarations::MethodDeclaration
Defined in:
lib/rubyzen/providers/raises_provider.rb

Overview

Provides access to raise statements within a declaration.

Instance Method Summary collapse

Instance Method Details

#raisesRubyzen::Collections::RaisesCollection

Returns collection of raise declarations.

Returns:



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

def raises
  raise_nodes = node.each_descendant(:send).select do |send_node|
    send_node.method_name == :raise
  end

  raise_declarations = raise_nodes.map do |raise_node|
    Rubyzen::Declarations::RaiseDeclaration.new(raise_node, self)
  end

  Rubyzen::Collections::RaisesCollection.new(raise_declarations)
end