Sha256: ebeaf9888a6585a814aed7e66ca67d45998b593733c4ffe3738466b106b432d5

Contents?: true

Size: 994 Bytes

Versions: 96

Compression:

Stored size: 994 Bytes

Contents

module Cucumber
  module Formatter
    module Io
      def ensure_io(path_or_io, name)
        return nil if path_or_io.nil?
        return path_or_io if path_or_io.respond_to?(:write)
        file = File.open(path_or_io, Cucumber.file_mode('w'))
        at_exit do
          unless file.closed?
            file.flush
            file.close
          end
        end
        file
      end

      def ensure_file(path, name)
        raise "You *must* specify --out FILE for the #{name} formatter" unless String === path
        raise "I can't write #{name} to a directory - it has to be a file" if File.directory?(path)
        ensure_io(path, name)
      end

      def ensure_dir(path, name)
        raise "You *must* specify --out DIR for the #{name} formatter" unless String === path
        raise "I can't write #{name} reports to a file - it has to be a directory" if File.file?(path)
        FileUtils.mkdir_p(path) unless File.directory?(path)
        path
      end
    end
  end
end

Version data entries

96 entries across 92 versions & 12 rubygems

Version Path
honeybadger-2.4.0 vendor/gems/ruby/1.9.1/gems/cucumber-1.3.18/lib/cucumber/formatter/io.rb
honeybadger-2.4.0 vendor/gems/ruby/2.2.0/gems/cucumber-1.3.18/lib/cucumber/formatter/io.rb
honeybadger-2.4.0 vendor/gems/ruby/2.1.0/gems/cucumber-1.3.16/lib/cucumber/formatter/io.rb
cucumber-2.0.2 lib/cucumber/formatter/io.rb
cucumber-2.0.1 lib/cucumber/formatter/io.rb
cucumber-1.3.20 lib/cucumber/formatter/io.rb
cucumber-2.0.0 lib/cucumber/formatter/io.rb
cucumber-2.0.0.rc.5 lib/cucumber/formatter/io.rb
cucumber-1.3.19 lib/cucumber/formatter/io.rb
cucumber-2.0.0.rc.4 lib/cucumber/formatter/io.rb
cucumber-2.0.0.rc.3 lib/cucumber/formatter/io.rb
cucumber-2.0.0.rc.2 lib/cucumber/formatter/io.rb
cucumber-2.0.0.rc.1 lib/cucumber/formatter/io.rb
cucumber-1.3.18 lib/cucumber/formatter/io.rb
cucumber-2.0.0.beta.5 lib/cucumber/formatter/io.rb
cucumber-2.0.0.beta.4 lib/cucumber/formatter/io.rb
cucumber-2.0.0.beta.3 lib/cucumber/formatter/io.rb
cucumber-1.3.17 lib/cucumber/formatter/io.rb
cucumber-2.0.0.beta.2 lib/cucumber/formatter/io.rb
cucumber-2.0.0.beta.1 lib/cucumber/formatter/io.rb