class Split::Cli::Session
Constants
- CONFIG_ERROR_MESSAGE
Attributes
options[RW]
request[RW]
session_id[RW]
Public Class Methods
new(session_id, options = {})
click to toggle source
# File lib/split/cli/session.rb, line 12 def initialize(session_id, options = {}) @session_id = session_id @options = options @request = Request.new(options.fetch(:user_agent, 'CLI')) config_split! end
Public Instance Methods
ab_test(*args)
click to toggle source
Calls superclass method
# File lib/split/cli/session.rb, line 19 def ab_test(*args) raise_unless_valid_args!(args) super end
finished(*args)
click to toggle source
Calls superclass method
# File lib/split/cli/session.rb, line 24 def finished(*args) raise_unless_valid_args!(args) super end
Private Instance Methods
config_split!()
click to toggle source
# File lib/split/cli/session.rb, line 37 def config_split! Split.redis = options.fetch :redis_url, ENV.fetch('REDIS_URL', 'localhost:6379') Split.redis.namespace = options.fetch :redis_namespace, ENV.fetch('REDIS_NAMESPACE', 'split') Split.configure do |config| config.persistence = Split::Persistence::RedisAdapter.with_config(lookup_by: -> (cli) { cli.session_id }) config.allow_multiple_experiments = options.fetch(:allow_multiple_experiments, ENV.fetch('SPLIT_MULTI_EXPERIMENT', true)) config.experiments = YAML.load_file yaml_config_path end end
raise_unless_valid_args!(args)
click to toggle source
# File lib/split/cli/session.rb, line 33 def raise_unless_valid_args!(args) raise(Split::Cli::CommandError, 'No experiment name provided') unless args.any? end
yaml_config_path()
click to toggle source
# File lib/split/cli/session.rb, line 48 def yaml_config_path options.fetch(:config_path, ENV['SPLIT_YAML_CONFIG']) || raise(CommandError, CONFIG_ERROR_MESSAGE) end