lib/split/configuration.rb in split-0.7.3 vs lib/split/configuration.rb in split-0.8.0
- old
+ new
@@ -16,10 +16,11 @@
attr_accessor :on_trial_choose
attr_accessor :on_trial_complete
attr_accessor :on_experiment_reset
attr_accessor :on_experiment_delete
attr_accessor :include_rails_helper
+ attr_accessor :beta_probability_simulations
attr_reader :experiments
def bots
@bots ||= {
@@ -83,10 +84,11 @@
# ???
'DigitalPersona Fingerprint Software' => 'HP Fingerprint scanner',
'ShowyouBot' => 'Showyou iOS app spider',
'ZyBorg' => 'Zyborg? Hmmm....',
+ 'ELB-HealthChecker' => 'ELB Health Check'
}
end
def experiments= experiments
raise InvalidExperimentsFormatError.new('Experiments must be a Hash') unless experiments.respond_to?(:keys)
@@ -107,14 +109,16 @@
def metrics
return @metrics if defined?(@metrics)
@metrics = {}
if self.experiments
self.experiments.each do |key, value|
- metric_name = value_for(value, :metric).to_sym rescue nil
- if metric_name
- @metrics[metric_name] ||= []
- @metrics[metric_name] << Split::Experiment.new(key)
+ metrics = value_for(value, :metric) rescue nil
+ Array(metrics).each do |metric_name|
+ if metric_name
+ @metrics[metric_name.to_sym] ||= []
+ @metrics[metric_name.to_sym] << Split::Experiment.new(key)
+ end
end
end
end
@metrics
end
@@ -193,9 +197,10 @@
@enabled = true
@experiments = {}
@persistence = Split::Persistence::SessionAdapter
@algorithm = Split::Algorithms::WeightedSample
@include_rails_helper = true
+ @beta_probability_simulations = 10000
end
private
def value_for(hash, key)