lib/split/configuration.rb in split-3.4.1 vs lib/split/configuration.rb in split-4.0.0.pre
- old
+ new
@@ -1,6 +1,7 @@
# frozen_string_literal: true
+
module Split
class Configuration
attr_accessor :ignore_ip_addresses
attr_accessor :ignore_filter
attr_accessor :db_failover
@@ -18,16 +19,18 @@
attr_accessor :on_trial_choose
attr_accessor :on_trial_complete
attr_accessor :on_experiment_reset
attr_accessor :on_experiment_delete
attr_accessor :on_before_experiment_reset
+ attr_accessor :on_experiment_winner_choose
attr_accessor :on_before_experiment_delete
attr_accessor :include_rails_helper
attr_accessor :beta_probability_simulations
attr_accessor :winning_alternative_recalculation_interval
attr_accessor :redis
attr_accessor :dashboard_pagination_default_per_page
+ attr_accessor :cache
attr_reader :experiments
attr_writer :bots
attr_writer :robot_regex
@@ -82,11 +85,11 @@
'Feedfetcher-Google' => 'Google Feedfetcher',
'https://developers.google.com/+/web/snippet' => 'Google+ Snippet Fetcher',
'LinkedInBot' => 'LinkedIn bot',
'LongURL' => 'URL expander service',
'NING' => 'NING - Yet Another Twitter Swarmer',
- 'Pinterest' => 'Pinterest Bot',
+ 'Pinterestbot' => 'Pinterest Bot',
'redditbot' => 'Reddit Bot',
'ShortLinkTranslate' => 'Link shortener',
'Slackbot' => 'Slackbot link expander',
'TweetmemeBot' => 'TweetMeMe Crawler',
'Twitterbot' => 'Twitter URL expander',
@@ -171,11 +174,11 @@
experiment_config
end
def normalize_alternatives(alternatives)
- given_probability, num_with_probability = alternatives.inject([0,0]) do |a,v|
+ given_probability, num_with_probability = alternatives.inject([0, 0]) do |a, v|
p, n = a
if percent = value_for(v, :percent)
[p + percent, n + 1]
else
a
@@ -214,10 +217,11 @@
@db_failover_on_db_error = proc{|error|} # e.g. use Rails logger here
@on_experiment_reset = proc{|experiment|}
@on_experiment_delete = proc{|experiment|}
@on_before_experiment_reset = proc{|experiment|}
@on_before_experiment_delete = proc{|experiment|}
+ @on_experiment_winner_choose = proc{|experiment|}
@db_failover_allow_parameter_override = false
@allow_multiple_experiments = false
@enabled = true
@experiments = {}
@persistence = Split::Persistence::SessionAdapter
@@ -226,19 +230,9 @@
@include_rails_helper = true
@beta_probability_simulations = 10000
@winning_alternative_recalculation_interval = 60 * 60 * 24 # 1 day
@redis = ENV.fetch(ENV.fetch('REDIS_PROVIDER', 'REDIS_URL'), 'redis://localhost:6379')
@dashboard_pagination_default_per_page = 10
- end
-
- def redis_url=(value)
- warn '[DEPRECATED] `redis_url=` is deprecated in favor of `redis=`'
- self.redis = value
- end
-
- def redis_url
- warn '[DEPRECATED] `redis_url` is deprecated in favor of `redis`'
- self.redis
end
private
def value_for(hash, key)