Sha256: ea34cc04958bd93fdacf64221698ce75c74dfbc02c7929e6ee2edaf784b3eaeb

Contents?: true

Size: 642 Bytes

Versions: 7

Compression:

Stored size: 642 Bytes

Contents

require 'rubygems'
require 'ruby_parser'

module Roodi
  module Core
    class Parser
      def parse(content, filename)
        silence_stream(STDERR) do 
          return silent_parse(content, filename)
        end
      end
      
      private
      
      def silence_stream(stream)
        old_stream = stream.dup
        stream.reopen(RUBY_PLATFORM =~ /mswin/ ? 'NUL:' : '/dev/null')
        stream.sync = true
        yield
      ensure
        stream.reopen(old_stream)
      end
      
      def silent_parse(content, filename)
        @parser ||= RubyParser.new
        @parser.parse(content, filename)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
metric_fu-roodi-2.2.1 lib/roodi/core/parser.rb
roodi-2.2.0 lib/roodi/core/parser.rb
metric_fu-roodi-2.2.0 lib/roodi/core/parser.rb
roodi1.9-2.0.1 lib/roodi/core/parser.rb
roodi-2.1.0 lib/roodi/core/parser.rb
roodi-2.0.1 lib/roodi/core/parser.rb
roodi-2.0.0 lib/roodi/core/parser.rb