Skip to content

Commit 4135da1

Browse files
tomcioppandrew
authored andcommitted
refactor(Split require): Fix issue where redis isn't required. Auto require all necessary files. (#466)
1 parent 6af501a commit 4135da1

8 files changed

Lines changed: 9 additions & 40 deletions

File tree

lib/split.rb

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,10 @@
11
# frozen_string_literal: true
2-
%w[algorithms
3-
alternative
4-
configuration
5-
exceptions
6-
experiment
7-
experiment_catalog
8-
extensions
9-
goals_collection
10-
helper
11-
metric
12-
persistence
13-
encapsulated_helper
14-
redis_interface
15-
trial
16-
user
17-
version
18-
zscore].each do |f|
19-
require "split/#{f}"
20-
end
2+
require 'redis'
3+
4+
# Auto require all files except for those that include 'dashboard' or 'engine'
5+
Dir["#{File.expand_path(File.dirname(__FILE__))}/**/*.rb"].reject do |file|
6+
file["dashboard"] || file["engine"]
7+
end.each { |file| require file }
218

229
require 'split/engine' if defined?(Rails)
2310

lib/split/algorithms.rb

Lines changed: 0 additions & 4 deletions
This file was deleted.

lib/split/alternative.rb

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
# frozen_string_literal: true
2-
require 'split/zscore'
3-
4-
# TODO - take out require and implement using file paths?
5-
62
module Split
73
class Alternative
84
attr_accessor :name
95
attr_accessor :experiment_name
106
attr_accessor :weight
117
attr_accessor :recorded_info
128

13-
include Zscore
14-
159
def initialize(name, experiment_name)
1610
@experiment_name = experiment_name
1711
if Hash === name

lib/split/encapsulated_helper.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# frozen_string_literal: true
2+
require "split/helper"
3+
24
# Split's helper exposes all kinds of methods we don't want to
35
# mix into our model classes.
46
#

lib/split/extensions.rb

Lines changed: 0 additions & 4 deletions
This file was deleted.

lib/split/persistence.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
# frozen_string_literal: true
2-
%w[session_adapter cookie_adapter redis_adapter dual_adapter].each do |f|
3-
require "split/persistence/#{f}"
4-
end
5-
62
module Split
73
module Persistence
84
ADAPTERS = {

lib/split/zscore.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22
module Split
3-
module Zscore
3+
class Zscore
44

55
include Math
66

spec/experiment_spec.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# frozen_string_literal: true
22
require 'spec_helper'
3-
require 'split/experiment'
4-
require 'split/algorithms'
53
require 'time'
64

75
describe Split::Experiment do

0 commit comments

Comments
 (0)