Sha256: 957800ac9f4377a50ca2583113d8cd6dd7812189248afc139c2e4e62454b2291
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 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) session = WebSocket::Session.new(url, logger, timeout: config.timeout) Formatter.new(session) end def configure yield config end private attr_reader :logger private :logger def config @config ||= Config.new end def url config.url + "?token=#{token}" end def create_logger(output) @logger = config.logger || Logger.new(output) end def token result = (config.token || '') raise(Error::MissingToken.new) if result.empty? result end end class Config attr_accessor :url, :logger, :token, :timeout end # Default config configure do |config| config.url = ENV['CUCUMBER_PRO_URL'] || 'wss://results.cucumber.pro/ws' config.token = ENV['CUCUMBER_PRO_TOKEN'] 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.12 | lib/cucumber/pro.rb |