lib/split/configuration.rb in split-4.0.1 vs lib/split/configuration.rb in split-4.0.2
- old
+ new
@@ -37,87 +37,87 @@
attr_writer :robot_regex
def bots
@bots ||= {
# Indexers
- 'AdsBot-Google' => 'Google Adwords',
- 'Baidu' => 'Chinese search engine',
- 'Baiduspider' => 'Chinese search engine',
- 'bingbot' => 'Microsoft bing bot',
- 'Butterfly' => 'Topsy Labs',
- 'Gigabot' => 'Gigabot spider',
- 'Googlebot' => 'Google spider',
- 'MJ12bot' => 'Majestic-12 spider',
- 'msnbot' => 'Microsoft bot',
- 'rogerbot' => 'SeoMoz spider',
- 'PaperLiBot' => 'PaperLi is another content curation service',
- 'Slurp' => 'Yahoo spider',
- 'Sogou' => 'Chinese search engine',
- 'spider' => 'generic web spider',
- 'UnwindFetchor' => 'Gnip crawler',
- 'WordPress' => 'WordPress spider',
- 'YandexAccessibilityBot' => 'Yandex accessibility spider',
- 'YandexBot' => 'Yandex spider',
- 'YandexMobileBot' => 'Yandex mobile spider',
- 'ZIBB' => 'ZIBB spider',
+ "AdsBot-Google" => "Google Adwords",
+ "Baidu" => "Chinese search engine",
+ "Baiduspider" => "Chinese search engine",
+ "bingbot" => "Microsoft bing bot",
+ "Butterfly" => "Topsy Labs",
+ "Gigabot" => "Gigabot spider",
+ "Googlebot" => "Google spider",
+ "MJ12bot" => "Majestic-12 spider",
+ "msnbot" => "Microsoft bot",
+ "rogerbot" => "SeoMoz spider",
+ "PaperLiBot" => "PaperLi is another content curation service",
+ "Slurp" => "Yahoo spider",
+ "Sogou" => "Chinese search engine",
+ "spider" => "generic web spider",
+ "UnwindFetchor" => "Gnip crawler",
+ "WordPress" => "WordPress spider",
+ "YandexAccessibilityBot" => "Yandex accessibility spider",
+ "YandexBot" => "Yandex spider",
+ "YandexMobileBot" => "Yandex mobile spider",
+ "ZIBB" => "ZIBB spider",
# HTTP libraries
- 'Apache-HttpClient' => 'Java http library',
- 'AppEngine-Google' => 'Google App Engine',
- 'curl' => 'curl unix CLI http client',
- 'ColdFusion' => 'ColdFusion http library',
- 'EventMachine HttpClient' => 'Ruby http library',
- 'Go http package' => 'Go http library',
- 'Go-http-client' => 'Go http library',
- 'Java' => 'Generic Java http library',
- 'libwww-perl' => 'Perl client-server library loved by script kids',
- 'lwp-trivial' => 'Another Perl library loved by script kids',
- 'Python-urllib' => 'Python http library',
- 'PycURL' => 'Python http library',
- 'Test Certificate Info' => 'C http library?',
- 'Typhoeus' => 'Ruby http library',
- 'Wget' => 'wget unix CLI http client',
+ "Apache-HttpClient" => "Java http library",
+ "AppEngine-Google" => "Google App Engine",
+ "curl" => "curl unix CLI http client",
+ "ColdFusion" => "ColdFusion http library",
+ "EventMachine HttpClient" => "Ruby http library",
+ "Go http package" => "Go http library",
+ "Go-http-client" => "Go http library",
+ "Java" => "Generic Java http library",
+ "libwww-perl" => "Perl client-server library loved by script kids",
+ "lwp-trivial" => "Another Perl library loved by script kids",
+ "Python-urllib" => "Python http library",
+ "PycURL" => "Python http library",
+ "Test Certificate Info" => "C http library?",
+ "Typhoeus" => "Ruby http library",
+ "Wget" => "wget unix CLI http client",
# URL expanders / previewers
- 'awe.sm' => 'Awe.sm URL expander',
- 'bitlybot' => 'bit.ly bot',
- 'bot@linkfluence.net' => 'Linkfluence bot',
- 'facebookexternalhit' => 'facebook bot',
- 'Facebot' => 'Facebook crawler',
- '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',
- 'Pinterestbot' => 'Pinterest Bot',
- 'redditbot' => 'Reddit Bot',
- 'ShortLinkTranslate' => 'Link shortener',
- 'Slackbot' => 'Slackbot link expander',
- 'TweetmemeBot' => 'TweetMeMe Crawler',
- 'Twitterbot' => 'Twitter URL expander',
- 'UnwindFetch' => 'Gnip URL expander',
- 'vkShare' => 'VKontake Sharer',
+ "awe.sm" => "Awe.sm URL expander",
+ "bitlybot" => "bit.ly bot",
+ "bot@linkfluence.net" => "Linkfluence bot",
+ "facebookexternalhit" => "facebook bot",
+ "Facebot" => "Facebook crawler",
+ "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",
+ "Pinterestbot" => "Pinterest Bot",
+ "redditbot" => "Reddit Bot",
+ "ShortLinkTranslate" => "Link shortener",
+ "Slackbot" => "Slackbot link expander",
+ "TweetmemeBot" => "TweetMeMe Crawler",
+ "Twitterbot" => "Twitter URL expander",
+ "UnwindFetch" => "Gnip URL expander",
+ "vkShare" => "VKontake Sharer",
# Uptime monitoring
- 'check_http' => 'Nagios monitor',
- 'GoogleStackdriverMonitoring' => 'Google Cloud monitor',
- 'NewRelicPinger' => 'NewRelic monitor',
- 'Panopta' => 'Monitoring service',
- 'Pingdom' => 'Pingdom monitoring',
- 'SiteUptime' => 'Site monitoring services',
- 'UptimeRobot' => 'Monitoring service',
+ "check_http" => "Nagios monitor",
+ "GoogleStackdriverMonitoring" => "Google Cloud monitor",
+ "NewRelicPinger" => "NewRelic monitor",
+ "Panopta" => "Monitoring service",
+ "Pingdom" => "Pingdom monitoring",
+ "SiteUptime" => "Site monitoring services",
+ "UptimeRobot" => "Monitoring service",
# ???
- 'DigitalPersona Fingerprint Software' => 'HP Fingerprint scanner',
- 'ShowyouBot' => 'Showyou iOS app spider',
- 'ZyBorg' => 'Zyborg? Hmmm....',
- 'ELB-HealthChecker' => 'ELB Health Check'
+ "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)
+ def experiments=(experiments)
+ raise InvalidExperimentsFormatError.new("Experiments must be a Hash") unless experiments.respond_to?(:keys)
@experiments = experiments
end
def disabled?
!enabled
@@ -155,12 +155,12 @@
experiment_config[name.to_sym] = {}
end
@experiments.each do |experiment_name, settings|
alternatives = if (alts = value_for(settings, :alternatives))
- normalize_alternatives(alts)
- end
+ normalize_alternatives(alts)
+ end
experiment_data = {
alternatives: alternatives,
goals: value_for(settings, :goals),
metadata: value_for(settings, :metadata),
@@ -211,18 +211,18 @@
@robot_regex ||= /\b(?:#{escaped_bots.join('|')})\b|\A\W*\z/i
end
def initialize
@ignore_ip_addresses = []
- @ignore_filter = proc{ |request| is_robot? || is_ignored_ip_address? }
+ @ignore_filter = proc { |request| is_robot? || is_ignored_ip_address? }
@db_failover = false
- @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_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
@@ -230,22 +230,21 @@
@persistence_cookie_domain = nil
@algorithm = Split::Algorithms::WeightedSample
@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')
+ @redis = ENV.fetch(ENV.fetch("REDIS_PROVIDER", "REDIS_URL"), "redis://localhost:6379")
@dashboard_pagination_default_per_page = 10
end
private
-
- def value_for(hash, key)
- if hash.kind_of?(Hash)
- hash.has_key?(key.to_s) ? hash[key.to_s] : hash[key.to_sym]
+ def value_for(hash, key)
+ if hash.kind_of?(Hash)
+ hash.has_key?(key.to_s) ? hash[key.to_s] : hash[key.to_sym]
+ end
end
- end
- def escaped_bots
- bots.map { |key, _| Regexp.escape(key) }
- end
+ def escaped_bots
+ bots.map { |key, _| Regexp.escape(key) }
+ end
end
end