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