Sha256: b9aeeb187ac2a8798c6f8ce43da8c90a6315ec81188fef67ae297a1d1a636fd5
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
require 'logger' require 'cucumber/pro/formatter' require 'cucumber/pro/web_socket/session' require 'cucumber/pro/errors' module Cucumber module Pro class << self def new(runtime, output, options) create_logger(output) working_copy = Scm::WorkingCopy.detect if should_publish working_copy.check_clean session = WebSocket::Session.new(url, logger, timeout: config.timeout) else session = WebSocket::NullSession.new end Formatter.new(session, working_copy) end def configure yield config end def config @config ||= Config.new end private attr_reader :logger private :logger def url config.url + "?token=#{token}" end def create_logger(output) @logger = config.logger || Logger.new(output) end def token config.token end def should_publish config.should_publish end end class Config attr_accessor :url, :logger, :token, :should_publish, :timeout, :build_number end # Default config configure do |config| config.url = ENV['CUCUMBER_PRO_RESULTS_URL'] || 'wss://results.cucumber.pro/ws' config.token = ENV['CUCUMBER_PRO_TOKEN'] config.build_number = ENV['BUILD_NUMBER'] || ENV['CIRCLE_BUILD_NUM'] || ENV['TRAVIS_JOB_NUMBER'] || ENV['bamboo.buildNumber'] || ENV['CI_BUILD_NUMBER'] config.should_publish = config.token && (config.build_number || ENV['CI']) config.timeout = 5 if file = ENV['CUCUMBER_PRO_LOG_FILE'] config.logger = Logger.new(file) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cucumber-pro-0.0.14 | lib/cucumber/pro.rb |