easy_ab 0.7.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6b647242b3bf82b0a76790aee2568d556d876646
4
- data.tar.gz: c9c87ca14932d3cc22b6f5aef8d8e9ab575037a6
2
+ SHA256:
3
+ metadata.gz: 7b3229647e76c5be95b159a35cfeb493449ead0c975de0255b1ad4396902725a
4
+ data.tar.gz: 98d9de1f18b1f4f6bad4e799c0000c7d824654941190e291efb08ab20a2f646f
5
5
  SHA512:
6
- metadata.gz: 65ea658a1986b6d0023aaafad58e2ad941416b1d8d7aa571f031d77906cfdbb77db5ca251a55c0ec4402976107f6f4e95a5b9c6ca67fa5c743a03caa502145ef
7
- data.tar.gz: cdfaf8d1f07ffe87ceb7bb9c60d97d3b175432c25ee0589b88a6fb71b7ec2a10680b90b9249648253966b369e828683b514626fdf54ed4b3b830b156564e1180
6
+ metadata.gz: 4eddc521758759b655843f21d3e9cc0647b3a53c94916aafd8e71cca3cdad5b410c87985f6e7c37572e64e5ebcfa0128f5b3cdfd7b2926c499a69942973996e7
7
+ data.tar.gz: 3475210720f05877fbb38d76e8c449205a0e1de12c87e27176d9c95ea36fdd92fddbc0c57f33bb7e56ed9d4cf0e62f67494caa68ae170fee14ecc01d3de917a2
@@ -1,3 +1,9 @@
1
+ ## 0.8.0 (2019-01-08)
2
+ - Provide a solution so you are no longer to restart rails server to apply any definition changes of experiments in development mode.
3
+
4
+ ## 0.7.0 (2017-11-21)
5
+ - Set domain of cookie to :all to support cross-subdomain experiment.
6
+
1
7
  ## 0.6.2 (2017-09-01)
2
8
  - [BF] Calling ab_test multiple times with different experiment name in one request may cause unwanted result if the definitions of experiments contain scope or rules.
3
9
 
data/README.md CHANGED
@@ -239,6 +239,39 @@ end
239
239
  ab_test(:button_color).class # => String
240
240
  ```
241
241
 
242
+ ## Don't want to restart server whenever you make changes to your easy_ab.rb? (Only recommended for small projects)
243
+ 1. Upgrade to 0.8.0 or later
244
+
245
+ 2. In your `config/initializers/easy_ab.rb`, add `EasyAb.experiments.reset` at the first line.
246
+ ```ruby
247
+ EasyAb.experiments.reset # Add this line
248
+
249
+ EasyAb.configure do |config|
250
+ .
251
+ .
252
+ .
253
+ end
254
+
255
+ EasyAb.experiments do |experiment|
256
+ .
257
+ .
258
+ .
259
+ end
260
+ ```
261
+
262
+ 3. In your `config/environments/development.rb`, set `config.reload_classes_only_on_change` to `false`. Note that this setting causes large project slow.
263
+
264
+ 4. In your `config/application.rb`, add the following snippets:
265
+ ```ruby
266
+ initializer_file = Rails.root.join('config', 'initializers', 'easy_ab.rb')
267
+ reloader = ActiveSupport::FileUpdateChecker.new([initializer_file]) do
268
+ load initializer_file
269
+ end
270
+ ActiveSupport::Reloader.to_prepare do
271
+ reloader.execute_if_updated
272
+ end
273
+ ```
274
+
242
275
  # Todo
243
276
  * Add comparisons with existing A/B testing gems
244
277
  * Convertion rate
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  f.match(%r{^(test|spec|features)/})
13
13
  end
14
14
  s.homepage = 'https://github.com/icarus4/easy_ab'
15
- s.license = 'MIT'
15
+ s.license = 'MIT'
16
16
 
17
17
  s.add_development_dependency 'rspec-core', '~> 3.0', '>= 3.0.0'
18
18
  s.add_development_dependency 'rspec', '~> 3.0'
@@ -41,6 +41,10 @@ module EasyAb
41
41
  @experiments << ::EasyAb::Experiment.new(name, options)
42
42
  end
43
43
 
44
+ def reset
45
+ @experiments.clear
46
+ end
47
+
44
48
  def all
45
49
  @experiments
46
50
  end
@@ -1,3 +1,3 @@
1
1
  module EasyAb
2
- VERSION = '0.7.0'
2
+ VERSION = '0.8.1'
3
3
  end
@@ -1,3 +1,21 @@
1
+ # If you want to change definitions of experiments without restart rails server in development mode
2
+ # Follow the following instructions:
3
+ #
4
+ # 1. Set config.reload_classes_only_on_change to false in config/environments/development.rb
5
+ # (Note that this setting only recommended for small project.)
6
+ #
7
+ # 2. Add the following snippets in your application.rb
8
+ #
9
+ # initializer_file = Rails.root.join('config', 'initializers', 'easy_ab.rb')
10
+ # reloader = ActiveSupport::FileUpdateChecker.new([initializer_file]) do
11
+ # load initializer_file
12
+ # end
13
+ # ActiveSupport::Reloader.to_prepare do
14
+ # reloader.execute
15
+ # end
16
+ #
17
+ EasyAb.experiments.reset
18
+
1
19
  EasyAb.configure do |config|
2
20
  # Define how to check whether current user is signed in or not
3
21
  config.user_signed_in_method = -> { user_signed_in? }
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_ab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gary Chu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-21 00:00:00.000000000 Z
11
+ date: 2019-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.0'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
19
  version: 3.0.0
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.0'
30
27
  - - ">="
31
28
  - !ruby/object:Gem::Version
32
29
  version: 3.0.0
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rspec
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -48,22 +48,22 @@ dependencies:
48
48
  name: activerecord
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '4.2'
54
51
  - - ">="
55
52
  - !ruby/object:Gem::Version
56
53
  version: 4.0.0
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '4.2'
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '4.2'
64
61
  - - ">="
65
62
  - !ruby/object:Gem::Version
66
63
  version: 4.0.0
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '4.2'
67
67
  description:
68
68
  email: icarus4.chu@gmail.com
69
69
  executables: []
@@ -109,10 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
- rubyforge_project:
113
- rubygems_version: 2.6.13
112
+ rubygems_version: 3.0.2
114
113
  signing_key:
115
114
  specification_version: 4
116
115
  summary: Easy, flexible A/B testing and feature toggle for Rails
117
116
  test_files: []
118
- has_rdoc: