Sha256: bf3e45e79a9e966f13955f79a1d5f07a3079353d2c9e10fa61ebda94b7f9676f

Contents?: true

Size: 1.03 KB

Versions: 41

Compression:

Stored size: 1.03 KB

Contents

require 'cucumber/formatter/color_io'

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 ColorIO === path_or_io || 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

41 entries across 41 versions & 4 rubygems

Version Path
cucumber-0.8.7 lib/cucumber/formatter/io.rb
vim-jar-0.1.2.0001 bundler/ruby/1.8/gems/cucumber-0.9.4/lib/cucumber/formatter/io.rb
vim-jar-0.1.2 bundler/ruby/1.8/gems/cucumber-0.9.4/lib/cucumber/formatter/io.rb
vim-jar-0.1.1 bundler/ruby/1.8/gems/cucumber-0.9.4/lib/cucumber/formatter/io.rb
vim-jar-0.1.0 bundler/ruby/1.8/gems/cucumber-0.9.4/lib/cucumber/formatter/io.rb
cucumber-0.9.4 lib/cucumber/formatter/io.rb
cucumber-0.9.3 lib/cucumber/formatter/io.rb
cucumber-0.9.2 lib/cucumber/formatter/io.rb
cucumber-0.9.1 lib/cucumber/formatter/io.rb
cucumber-0.9.0 lib/cucumber/formatter/io.rb
cucumber-0.8.5 lib/cucumber/formatter/io.rb
cucumber-0.8.4 lib/cucumber/formatter/io.rb
cucumber-0.8.3 lib/cucumber/formatter/io.rb
cucumber-0.8.2 lib/cucumber/formatter/io.rb
cucumber-0.8.1 lib/cucumber/formatter/io.rb
cucumber-0.8.0 lib/cucumber/formatter/io.rb
cucumber-0.7.3 lib/cucumber/formatter/io.rb
cucumber-0.7.2 lib/cucumber/formatter/io.rb
cucumber-0.7.1 lib/cucumber/formatter/io.rb
cucumber-0.7.0 lib/cucumber/formatter/io.rb