Sha256: 2e68178de45debd2214105ea960589629ac2d4068f79b2ee8c665350e46dc4ef

Contents?: true

Size: 717 Bytes

Versions: 3

Compression:

Stored size: 717 Bytes

Contents

require 'parser/current'
module BetterRailsDebugger::Parser::Ruby
  class Parser < BetterRailsDebugger::Parser::Base
    def analise
      # Use some setting to select ruby version
      @node_tree = ::Parser::CurrentRuby.parse(File.read(@path)).to_sexp_array
      @status = ContextRunner.new
      @klasses = Extension.sorted_extensions
      analise_node_tree(@node_tree)
    end

    def analise_node_tree(tree)
      add_context
      tree.each do |node_item|
        if node_item.kind_of? Array
          analise_node_tree node_item
        else
          push_to_context node_item
          @klasses.each do |klass|
            klass.run node_item, @status
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
better_rails_debugger-0.2.1 lib/better_rails_debugger/parser/ruby/parser.rb
better_rails_debugger-0.2.0 lib/better_rails_debugger/parser/ruby/parser.rb
better_rails_debugger-0.1.1 lib/better_rails_debugger/parser/ruby/parser.rb