class MiniAutobot::Settings
An object that holds runtime settings.
Furthermore, Minitest
doesn't provide any good way of passing a hash of options to each test.
TODO: We're importing ActiveSupport's extensions to Hash, which means that we'll be amending the way Hash objects work; once AS updates themselves to ruby 2.0 refinements, let's move towards that.
Attributes
hsh[R]
Public Class Methods
new()
click to toggle source
# File lib/mini_autobot/settings.rb, line 13 def initialize @hsh = {} end
Public Instance Methods
auto_finalize?()
click to toggle source
# File lib/mini_autobot/settings.rb, line 22 def auto_finalize? hsh.fetch(:auto_finalize, true) end
connector()
click to toggle source
# File lib/mini_autobot/settings.rb, line 26 def connector hsh.fetch(:connector, :firefox).to_s end
env()
click to toggle source
# File lib/mini_autobot/settings.rb, line 30 def env # add a gitignored env file which stores a default env # pass the default env in as default hsh.fetch(:env, :rent_qa).to_s end
feature_flips()
click to toggle source
# File lib/mini_autobot/settings.rb, line 104 def feature_flips hsh[:feature_flips] end
google_sheet()
click to toggle source
# File lib/mini_autobot/settings.rb, line 100 def google_sheet hsh[:google_sheets] end
google_sheets?()
click to toggle source
# File lib/mini_autobot/settings.rb, line 96 def google_sheets? hsh[:google_sheets] != false end
inspect()
click to toggle source
# File lib/mini_autobot/settings.rb, line 17 def inspect settings = self.class.public_instance_methods(false).sort.map(&:inspect).join(', ') "#<MiniAutobot::Settings #{settings}>" end
io()
click to toggle source
# File lib/mini_autobot/settings.rb, line 49 def io hsh[:io] end
merge!(other)
click to toggle source
# File lib/mini_autobot/settings.rb, line 53 def merge!(other) hsh.merge!(other.symbolize_keys) self end
parallel()
click to toggle source
can be used as a flag no matter parallel option is used in command line or not can also be used to fetch the value if a valid value is specified
# File lib/mini_autobot/settings.rb, line 60 def parallel if hsh[:parallel] == 0 return nil else hsh.fetch(:parallel).to_i end end
raw_arguments()
click to toggle source
# File lib/mini_autobot/settings.rb, line 68 def raw_arguments hsh.fetch(:args, nil).to_s end
rerun_failure()
click to toggle source
# File lib/mini_autobot/settings.rb, line 76 def rerun_failure hsh.fetch(:rerun_failure) end
reuse_driver?()
click to toggle source
# File lib/mini_autobot/settings.rb, line 72 def reuse_driver? hsh.fetch(:reuse_driver, false) end
sauce_access_key()
click to toggle source
# File lib/mini_autobot/settings.rb, line 45 def sauce_access_key sauce_user["pass"] end
sauce_session_http_auth(driver)
click to toggle source
# File lib/mini_autobot/settings.rb, line 36 def sauce_session_http_auth(driver) session_id = driver.session_id "https://#{sauce_username}:#{sauce_access_key}@saucelabs.com/rest/v1/#{sauce_username}/jobs/#{session_id}" end
sauce_username()
click to toggle source
# File lib/mini_autobot/settings.rb, line 41 def sauce_username sauce_user["user"] end
seed()
click to toggle source
# File lib/mini_autobot/settings.rb, line 80 def seed hsh.fetch(:seed, nil).to_i end
verbose?()
click to toggle source
# File lib/mini_autobot/settings.rb, line 88 def verbose? verbosity_level > 0 end
verbosity_level()
click to toggle source
# File lib/mini_autobot/settings.rb, line 92 def verbosity_level hsh.fetch(:verbosity_level, 0).to_i end
Private Instance Methods
sauce_user()
click to toggle source
# File lib/mini_autobot/settings.rb, line 111 def sauce_user overrides = connector.split(/:/) file_name = overrides.shift path = MiniAutobot.root.join('config/mini_autobot', 'connectors') filepath = path.join("#{file_name}.yml") raise ArgumentError, "Cannot load profile #{file_name.inspect} because #{filepath.inspect} does not exist" unless filepath.exist? cfg = YAML.load(File.read(filepath)) cfg = Connector.resolve(cfg, overrides) cfg.freeze cfg["hub"] end