split 3.0.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.rubocop.yml +2 -2
- data/.travis.yml +39 -2
- data/Appraisals +8 -1
- data/CHANGELOG.md +41 -0
- data/CONTRIBUTING.md +54 -5
- data/LICENSE +1 -1
- data/README.md +184 -110
- data/gemfiles/4.2.gemfile +1 -1
- data/gemfiles/5.0.gemfile +1 -2
- data/gemfiles/5.1.gemfile +9 -0
- data/gemfiles/5.2.gemfile +9 -0
- data/lib/split/alternative.rb +3 -0
- data/lib/split/combined_experiments_helper.rb +37 -0
- data/lib/split/configuration.rb +8 -0
- data/lib/split/dashboard/pagination_helpers.rb +87 -0
- data/lib/split/dashboard/paginator.rb +16 -0
- data/lib/split/dashboard/public/style.css +9 -0
- data/lib/split/dashboard/views/index.erb +5 -1
- data/lib/split/dashboard.rb +2 -0
- data/lib/split/engine.rb +2 -0
- data/lib/split/experiment.rb +5 -4
- data/lib/split/helper.rb +14 -1
- data/lib/split/persistence/cookie_adapter.rb +53 -15
- data/lib/split/redis_interface.rb +1 -3
- data/lib/split/version.rb +1 -1
- data/lib/split.rb +1 -0
- data/spec/alternative_spec.rb +12 -0
- data/spec/combined_experiments_helper_spec.rb +57 -0
- data/spec/dashboard/pagination_helpers_spec.rb +198 -0
- data/spec/dashboard/paginator_spec.rb +37 -0
- data/spec/experiment_spec.rb +1 -1
- data/spec/helper_spec.rb +20 -0
- data/spec/persistence/cookie_adapter_spec.rb +90 -23
- data/spec/persistence/dual_adapter_spec.rb +2 -2
- data/spec/split_spec.rb +7 -7
- data/split.gemspec +16 -6
- metadata +33 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: ac2527f0dab7b1f6c2de3e21b02fd933eef302046e7cdd4b8f42da20a3cdf1ba
|
|
4
|
+
data.tar.gz: 6332eabde240b1c408ff434850b7ac520b3081bfd5fe76f7343259a8eae039b6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 331863e4c78e8dabf7eb23551608be301cdd33d4c14186ab47def00485b028c05784f70009fd66d1b3e240963d1cd45b61d2233b651fd0bcbcb79e2871d2a6ad
|
|
7
|
+
data.tar.gz: 2c8723105824b9dfc315f88de450be5c18aa32d20e2253a25ca9fcbb6b65b082697c0782719198a2f7b401e66824597a50c3f97dece30a3c9ceccb3fcd62fa95
|
data/.rubocop.yml
CHANGED
|
@@ -716,7 +716,7 @@ Style/LineEndConcatenation:
|
|
|
716
716
|
line end.
|
|
717
717
|
Enabled: false
|
|
718
718
|
|
|
719
|
-
Style/
|
|
719
|
+
Style/MethodCallWithoutArgsParentheses:
|
|
720
720
|
Description: 'Do not use parentheses for method calls with no arguments.'
|
|
721
721
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
|
|
722
722
|
Enabled: false
|
|
@@ -816,7 +816,7 @@ Style/OneLineConditional:
|
|
|
816
816
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
|
|
817
817
|
Enabled: false
|
|
818
818
|
|
|
819
|
-
|
|
819
|
+
Naming/BinaryOperatorParameter:
|
|
820
820
|
Description: 'When defining binary operators, name the argument other.'
|
|
821
821
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
|
|
822
822
|
Enabled: false
|
data/.travis.yml
CHANGED
|
@@ -1,13 +1,50 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
rvm:
|
|
3
|
-
-
|
|
3
|
+
- 1.9.3
|
|
4
|
+
- 2.0
|
|
5
|
+
- 2.1
|
|
6
|
+
- 2.2.0
|
|
7
|
+
- 2.2.2
|
|
8
|
+
- 2.4.3
|
|
9
|
+
- 2.5.1
|
|
4
10
|
|
|
5
11
|
gemfile:
|
|
6
12
|
- gemfiles/4.2.gemfile
|
|
7
13
|
- gemfiles/5.0.gemfile
|
|
14
|
+
- gemfiles/5.1.gemfile
|
|
15
|
+
- gemfiles/5.2.gemfile
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
matrix:
|
|
19
|
+
exclude:
|
|
20
|
+
- rvm: 1.9.3
|
|
21
|
+
gemfile: gemfiles/5.0.gemfile
|
|
22
|
+
- rvm: 1.9.3
|
|
23
|
+
gemfile: gemfiles/5.1.gemfile
|
|
24
|
+
- rvm: 2.0
|
|
25
|
+
gemfile: gemfiles/5.0.gemfile
|
|
26
|
+
- rvm: 2.0
|
|
27
|
+
gemfile: gemfiles/5.1.gemfile
|
|
28
|
+
- rvm: 2.1
|
|
29
|
+
gemfile: gemfiles/5.0.gemfile
|
|
30
|
+
- rvm: 2.1
|
|
31
|
+
gemfile: gemfiles/5.1.gemfile
|
|
32
|
+
- rvm: 2.2.0
|
|
33
|
+
gemfile: gemfiles/5.0.gemfile
|
|
34
|
+
- rvm: 2.2.0
|
|
35
|
+
gemfile: gemfiles/5.1.gemfile
|
|
36
|
+
- rvm: 1.9.3
|
|
37
|
+
gemfile: gemfiles/5.2.gemfile
|
|
38
|
+
- rvm: 2.0
|
|
39
|
+
gemfile: gemfiles/5.2.gemfile
|
|
40
|
+
- rvm: 2.1
|
|
41
|
+
gemfile: gemfiles/5.2.gemfile
|
|
42
|
+
- rvm: 2.2.0
|
|
43
|
+
gemfile: gemfiles/5.2.gemfile
|
|
44
|
+
|
|
8
45
|
|
|
9
46
|
before_install:
|
|
10
|
-
- gem install bundler
|
|
47
|
+
- gem update --system && gem install bundler
|
|
11
48
|
|
|
12
49
|
script:
|
|
13
50
|
- RAILS_ENV=test bundle exec rake spec && bundle exec codeclimate-test-reporter
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,44 @@
|
|
|
1
|
+
## 3.2.0 (September 21st, 2017)
|
|
2
|
+
|
|
3
|
+
Features:
|
|
4
|
+
|
|
5
|
+
- Allow configuration of how often winning alternatives are recalculated (@patbl, #501)
|
|
6
|
+
|
|
7
|
+
Bugfixes:
|
|
8
|
+
|
|
9
|
+
- Avoid z_score numeric exception for conversion rates >1 (@cmantas, #503)
|
|
10
|
+
- Fix combined experiments (@semanticart, #502)
|
|
11
|
+
|
|
12
|
+
## 3.1.1 (August 30th, 2017)
|
|
13
|
+
|
|
14
|
+
Bugfixes:
|
|
15
|
+
|
|
16
|
+
- Bring back support for ruby 1.9.3 and greater (rubygems 2.0.0 or greater now required) (@patbl, #498)
|
|
17
|
+
|
|
18
|
+
Misc:
|
|
19
|
+
|
|
20
|
+
- Document testing with RSpec (@eliotsykes, #495)
|
|
21
|
+
|
|
22
|
+
## 3.1.0 (August 14th, 2017)
|
|
23
|
+
|
|
24
|
+
Features:
|
|
25
|
+
|
|
26
|
+
- Support for combined experiments (@daviddening, #493)
|
|
27
|
+
- Rewrite CookieAdapter to work with Rack::Request and Rack::Response directly (@andrehjr, #490)
|
|
28
|
+
- Enumeration of a User's Experiments that Respects the db_failover Option(@MarkRoddy, #487)
|
|
29
|
+
|
|
30
|
+
Bugfixes:
|
|
31
|
+
|
|
32
|
+
- Blocked a few more common bot user agents (@kylerippey, #485)
|
|
33
|
+
|
|
34
|
+
Misc:
|
|
35
|
+
|
|
36
|
+
- Repository Audit by Maintainer.io (@RichardLitt, #484)
|
|
37
|
+
- Update development dependencies
|
|
38
|
+
- Test on ruby 2.4.1
|
|
39
|
+
- Test compatibility with rails 5.1
|
|
40
|
+
- Add uris to metadata section in gemspec
|
|
41
|
+
|
|
1
42
|
## 3.0.0 (March 30th, 2017)
|
|
2
43
|
|
|
3
44
|
Features:
|
data/CONTRIBUTING.md
CHANGED
|
@@ -1,13 +1,62 @@
|
|
|
1
|
-
|
|
1
|
+
# Contributing to Split
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Want to contribute to Split? That's great! Here are a couple of guidelines that will help you contribute. Before we get started: Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md) to ensure that this project is a welcoming place for **everyone** to contribute to. By participating in this project you agree to abide by its terms.
|
|
4
|
+
|
|
5
|
+
#### Overview
|
|
6
|
+
|
|
7
|
+
* [Contribution workflow](#contribution-workflow)
|
|
8
|
+
* [Setup instructions](#setup-instructions)
|
|
9
|
+
* [Reporting a bug](#reporting-a-bug)
|
|
10
|
+
* [Contributing to an existing issue](#contributing-to-an-existing-issue)
|
|
11
|
+
* [Our labels](#our-labels)
|
|
12
|
+
* [Additional info](#additional-info)
|
|
13
|
+
|
|
14
|
+
## Contribution workflow
|
|
4
15
|
|
|
5
16
|
* Fork the project.
|
|
6
17
|
* Make your feature addition or bug fix.
|
|
7
18
|
* Add tests for it. This is important so I don't break it in a
|
|
8
19
|
future version unintentionally.
|
|
9
20
|
* Add documentation if necessary.
|
|
10
|
-
* Commit
|
|
11
|
-
(
|
|
21
|
+
* Commit. Do not mess with the Rakefile, version, or history.
|
|
22
|
+
(If you want to have your own version, that is fine. But bump version in a commit by itself I can ignore when I pull.)
|
|
12
23
|
* Send a pull request. Bonus points for topic branches.
|
|
13
|
-
* Discussion at the [Google Group](https://groups.google.com/d/forum/split-ruby)
|
|
24
|
+
* Discussion at the [Google Group](https://groups.google.com/d/forum/split-ruby)
|
|
25
|
+
|
|
26
|
+
## Setup instructions
|
|
27
|
+
|
|
28
|
+
You can find in-depth instructions to install in our [README](https://github.com/splitrb/split/blob/master/README.md).
|
|
29
|
+
|
|
30
|
+
*Note*: Split requires Ruby 1.9.2 or higher.
|
|
31
|
+
|
|
32
|
+
## Reporting a bug
|
|
33
|
+
|
|
34
|
+
So you've found a bug, and want to help us fix it? Before filing a bug report, please double-check the bug hasn't already been reported. You can do so [on our issue tracker](https://github.com/splitrb/split/issues?q=is%3Aissue+is%3Aopen+label%3Abug). If something hasn't been raised, you can go ahead and create a new issue with the following information:
|
|
35
|
+
|
|
36
|
+
* When did the error happen?
|
|
37
|
+
* How can the error be reproduced?
|
|
38
|
+
* If possible, please also provide an error message or a screenshot to illustrate the problem.
|
|
39
|
+
|
|
40
|
+
If you want to be really thorough, there is a great overview on Stack Overflow of [what you should consider when reporting a bug](http://stackoverflow.com/questions/240323/how-to-report-bugs-the-smart-way).
|
|
41
|
+
|
|
42
|
+
It goes without saying that you're welcome to help investigate further and/or find a fix for the bug. If you want to do so, just mention it in your bug report and offer your help!
|
|
43
|
+
|
|
44
|
+
## Contributing to an existing issue
|
|
45
|
+
|
|
46
|
+
### Finding an issue to work on
|
|
47
|
+
|
|
48
|
+
We've got a few open issues and are always glad to get help on that front. You can view the list of issues [here](https://github.com/splitrb/split/issues). Most of the issues are labelled, so you can use the labels to get an idea of which issue could be a good fit for you. (Here's [a good article](https://medium.freecodecamp.com/finding-your-first-open-source-project-or-bug-to-work-on-1712f651e5ba) on how to find your first bug to fix).
|
|
49
|
+
|
|
50
|
+
Before getting to work, take a look at the issue and at the conversation around it. Has someone already offered to work on the issue? Has someone been assigned to the issue? If so, you might want to check with them to see whether they're still actively working on it.
|
|
51
|
+
|
|
52
|
+
If the issue is a few months old, it might be a good idea to write a short comment to double-check that the issue or feature is still a valid one to jump on.
|
|
53
|
+
|
|
54
|
+
Feel free to ask for more detail on what is expected: are there any more details or specifications you need to know?
|
|
55
|
+
|
|
56
|
+
And if at any point you get stuck: don't hesitate to ask for help.
|
|
57
|
+
|
|
58
|
+
### Making your contribution
|
|
59
|
+
|
|
60
|
+
We've outlined the contribution workflow [here](#contribution-workflow). If you're a first-timer, don't worry! GitHub has a ton of guides to help you through your first pull request: You can find out more about pull requests [here](https://help.github.com/articles/about-pull-requests/) and about creating a pull request [here](https://help.github.com/articles/creating-a-pull-request/).
|
|
61
|
+
|
|
62
|
+
Especially if you're a newcomer to Open Source and you've found some little bumps along the way while contributing, we recommend you write about them. [Here](https://medium.freecodecamp.com/new-contributors-to-open-source-please-blog-more-920af14cffd)'s a great article about why writing about your experience is important; this will encourage other beginners to try their luck at Open Source, too!
|