rollout 2.4.0 → 2.4.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 531e50e9914dd1ea745969469ae49b805fe583b7
4
- data.tar.gz: 2c25094aa9935d7ce97263f0829072bcb728dffc
3
+ metadata.gz: be3151ff1e21e7693a5b5be187e4db45cf4eb5d3
4
+ data.tar.gz: 4bf397113ea44c2a522b4929c2030ca1aa756fab
5
5
  SHA512:
6
- metadata.gz: 87983bb4671e964ea46e5e7c85f98b4a9e9254707c2a4775c7a24998a2480dc0faa07a67acb0f90c2cdab8a84530ffd41417fca763cfd9c4308060179f8ece78
7
- data.tar.gz: fa7c1d4f2c9fc0202d0272f0750cf0ea9087a6bb375e692631bc9c4b2ea3c6e52e649a601a0c2bcef4549e38d7fcd5d683fd08711805a77db757b86d6531bab3
6
+ metadata.gz: 579ebe41258df73bf78477cba47da1529302c560e246f03a1bf4c652e93518a1de7e7053ec9665f3eefc94f04e21015b48a568dbdd1951d44ce23775aa967673
7
+ data.tar.gz: 34fee387845b0cd8df9f1f593d900b8bb22de23acc2aee4777e99672a5caac1c78122ca020f032453e786d607bb7d905e65dbf807cbb8b796beafabba98fa6c2
data/.gitignore CHANGED
@@ -18,5 +18,6 @@ coverage
18
18
  rdoc
19
19
  pkg
20
20
  *.gem
21
+ gemfiles/*.lock
21
22
 
22
23
  ## PROJECT::SPECIFIC
@@ -4,6 +4,7 @@ sudo: false
4
4
  services:
5
5
  - redis-server
6
6
  rvm:
7
+ - 2.4.1
7
8
  - 2.3.1
8
9
  - 2.2
9
10
  - 2.1
@@ -12,5 +13,8 @@ rvm:
12
13
  - jruby-19mode
13
14
  env:
14
15
  - USE_REAL_REDIS=true
16
+ gemfile:
17
+ - gemfiles/redis_3.gemfile
18
+ - gemfiles/redis_4.gemfile
15
19
  script:
16
20
  - bundle exec rspec
@@ -0,0 +1,7 @@
1
+ appraise "redis-3" do
2
+ gem "redis", "~> 3.3.2"
3
+ end
4
+
5
+ appraise "redis-4" do
6
+ gem "redis", "4.0.0.rc1"
7
+ end
@@ -1,48 +1,56 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rollout (2.3.0)
4
+ rollout (2.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- codeclimate-test-reporter (0.4.8)
10
- simplecov (>= 0.7.1, < 1.0.0)
11
- diff-lcs (1.2.5)
9
+ appraisal (2.1.0)
10
+ bundler
11
+ rake
12
+ thor (>= 0.14.0)
13
+ codeclimate-test-reporter (1.0.5)
14
+ simplecov
15
+ diff-lcs (1.3)
12
16
  docile (1.1.5)
13
- fakeredis (0.5.0)
14
- redis (~> 3.0)
15
- json (1.8.3)
16
- redis (3.2.2)
17
- rspec (3.4.0)
18
- rspec-core (~> 3.4.0)
19
- rspec-expectations (~> 3.4.0)
20
- rspec-mocks (~> 3.4.0)
21
- rspec-core (3.4.2)
22
- rspec-support (~> 3.4.0)
23
- rspec-expectations (3.4.0)
17
+ fakeredis (0.6.0)
18
+ redis (~> 3.2)
19
+ json (2.0.3)
20
+ rake (12.0.0)
21
+ redis (3.3.3)
22
+ rspec (3.5.0)
23
+ rspec-core (~> 3.5.0)
24
+ rspec-expectations (~> 3.5.0)
25
+ rspec-mocks (~> 3.5.0)
26
+ rspec-core (3.5.4)
27
+ rspec-support (~> 3.5.0)
28
+ rspec-expectations (3.5.0)
24
29
  diff-lcs (>= 1.2.0, < 2.0)
25
- rspec-support (~> 3.4.0)
26
- rspec-mocks (3.4.1)
30
+ rspec-support (~> 3.5.0)
31
+ rspec-mocks (3.5.0)
27
32
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.4.0)
29
- rspec-support (3.4.1)
30
- simplecov (0.11.1)
33
+ rspec-support (~> 3.5.0)
34
+ rspec-support (3.5.0)
35
+ simplecov (0.13.0)
31
36
  docile (~> 1.1.0)
32
- json (~> 1.8)
37
+ json (>= 1.8, < 3)
33
38
  simplecov-html (~> 0.10.0)
34
39
  simplecov-html (0.10.0)
40
+ thor (0.19.4)
35
41
 
36
42
  PLATFORMS
37
43
  ruby
38
44
 
39
45
  DEPENDENCIES
46
+ appraisal
40
47
  bundler (>= 1.0.0)
41
48
  codeclimate-test-reporter
42
49
  fakeredis
43
50
  redis
44
51
  rollout!
45
52
  rspec
53
+ simplecov
46
54
 
47
55
  BUNDLED WITH
48
56
  1.12.5
data/README.md CHANGED
@@ -1,23 +1,12 @@
1
1
  # rollout
2
2
 
3
- Feature flippers.
3
+ Fast feature flags based on Redis.
4
4
 
5
5
  [![Build Status](https://travis-ci.org/fetlife/rollout.svg?branch=master)](https://travis-ci.org/fetlife/rollout)
6
6
  [![Code Climate](https://codeclimate.com/github/FetLife/rollout/badges/gpa.svg)](https://codeclimate.com/github/fetlife/rollout)
7
7
  [![Test Coverage](https://codeclimate.com/github/FetLife/rollout/badges/coverage.svg)](https://codeclimate.com/github/fetlife/rollout/coverage)
8
8
  [![Dependency Status](https://gemnasium.com/FetLife/rollout.svg)](https://gemnasium.com/fetlife/rollout)
9
9
 
10
- ## MAKE SURE TO READ THIS: 2.X Changes and Migration Path
11
-
12
- As of rollout-2.x, only one key is used per feature for performance reasons.
13
- The serialized format is `percentage|user_id,user_id,...|group,_group...|data_json`. This has
14
- the effect of making concurrent feature modifications unsafe, but in practice,
15
- I doubt this will actually be a problem.
16
-
17
- This also has the effect of rollout no longer being dependent on redis. Just
18
- give it something that responds to `set(key,value)`, `get(key)` and
19
- `del(key)`.
20
-
21
10
  ## Install it
22
11
 
23
12
  ```bash
@@ -38,7 +27,7 @@ $rollout = Rollout.new($redis)
38
27
  Update data specific to a feature:
39
28
 
40
29
  ```ruby
41
- @rollout.set_feature_data(:chat, description: 'foo', release_date: 'bar', whatever: 'baz')
30
+ $rollout.set_feature_data(:chat, description: 'foo', release_date: 'bar', whatever: 'baz')
42
31
  ```
43
32
 
44
33
  Check whether a feature is active for a particular user:
@@ -178,6 +167,10 @@ $rollout.activate_group(:chat, :all)
178
167
 
179
168
  This example would use the "development:feature:chat:groups" key.
180
169
 
170
+ ## Frontend / UI
171
+
172
+ * [Rollout-Dashboard](https://github.com/fiverr/rollout_dashboard/)
173
+
181
174
  ## Implementations in other languages
182
175
 
183
176
  * Python: https://github.com/asenchi/proclaim
@@ -0,0 +1,9 @@
1
+ begin
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
7
+ rescue LoadError
8
+ # no rspec available
9
+ end
@@ -0,0 +1,13 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ if RUBY_VERSION >= '2.0'
6
+ gem "json"
7
+ else
8
+ gem "json", "~> 1.8.3"
9
+ end
10
+
11
+ gem "redis", "~> 3.3.2"
12
+
13
+ gemspec :path => "../"
@@ -0,0 +1,13 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ if RUBY_VERSION >= '2.0'
6
+ gem "json"
7
+ else
8
+ gem "json", "~> 1.8.3"
9
+ end
10
+
11
+ gem "redis", "4.0.0.rc1"
12
+
13
+ gemspec :path => "../"
@@ -76,7 +76,7 @@ class Rollout
76
76
 
77
77
  private
78
78
  def user_id(user)
79
- if user.is_a?(Fixnum) || user.is_a?(String)
79
+ if user.is_a?(Integer) || user.is_a?(String)
80
80
  user.to_s
81
81
  else
82
82
  user.send(id_user_by).to_s
@@ -1,3 +1,3 @@
1
1
  class Rollout
2
- VERSION = "2.4.0"
2
+ VERSION = "2.4.1"
3
3
  end
@@ -3,13 +3,14 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
  require "rollout/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "rollout"
7
- s.version = Rollout::VERSION
8
- s.authors = ["James Golick"]
6
+ s.name = "rollout"
7
+ s.version = Rollout::VERSION
8
+ s.authors = ["James Golick"]
9
9
  s.email = ["jamesgolick@gmail.com"]
10
10
  s.description = "Feature flippers with redis."
11
- s.summary = "Feature flippers with redis."
12
- s.homepage = "https://github.com/FetLife/rollout"
11
+ s.summary = "Feature flippers with redis."
12
+ s.homepage = "https://github.com/FetLife/rollout"
13
+ s.license = "MIT"
13
14
 
14
15
  s.files = `git ls-files`.split("\n")
15
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -17,8 +18,10 @@ Gem::Specification.new do |s|
17
18
  s.require_paths = ["lib"]
18
19
 
19
20
  s.add_development_dependency "rspec"
21
+ s.add_development_dependency "appraisal"
20
22
  s.add_development_dependency "bundler", ">= 1.0.0"
21
23
  s.add_development_dependency "redis"
22
24
  s.add_development_dependency "fakeredis"
25
+ s.add_development_dependency "simplecov"
23
26
  s.add_development_dependency "codeclimate-test-reporter"
24
27
  end
@@ -1,22 +1,16 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
 
4
- require "codeclimate-test-reporter"
4
+ require "simplecov"
5
5
  require "rspec"
6
6
  require ENV["USE_REAL_REDIS"] == "true" ? "redis" : "fakeredis"
7
7
 
8
- if ENV["CODECLIMATE_REPO_TOKEN"]
9
- CodeClimate::TestReporter.start
10
- else
11
- SimpleCov.start do
12
- formatter SimpleCov::Formatter::MultiFormatter.new([
13
- SimpleCov::Formatter::HTMLFormatter,
14
- CodeClimate::TestReporter::Formatter,
15
- ])
16
- end
8
+ SimpleCov.start do
9
+ formatter SimpleCov::Formatter::MultiFormatter.new([
10
+ SimpleCov::Formatter::HTMLFormatter,
11
+ ])
17
12
  end
18
13
 
19
-
20
14
  require "rollout"
21
15
 
22
16
  RSpec.configure do |config|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollout
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Golick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-28 00:00:00.000000000 Z
11
+ date: 2017-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: appraisal
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +80,20 @@ dependencies:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: codeclimate-test-reporter
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -91,17 +119,22 @@ files:
91
119
  - ".gitignore"
92
120
  - ".rspec"
93
121
  - ".travis.yml"
122
+ - Appraisals
94
123
  - Gemfile
95
124
  - Gemfile.lock
96
125
  - LICENSE
97
126
  - README.md
127
+ - Rakefile
128
+ - gemfiles/redis_3.gemfile
129
+ - gemfiles/redis_4.gemfile
98
130
  - lib/rollout.rb
99
131
  - lib/rollout/version.rb
100
132
  - rollout.gemspec
101
133
  - spec/rollout_spec.rb
102
134
  - spec/spec_helper.rb
103
135
  homepage: https://github.com/FetLife/rollout
104
- licenses: []
136
+ licenses:
137
+ - MIT
105
138
  metadata: {}
106
139
  post_install_message:
107
140
  rdoc_options: []
@@ -119,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
152
  version: '0'
120
153
  requirements: []
121
154
  rubyforge_project:
122
- rubygems_version: 2.4.5.1
155
+ rubygems_version: 2.6.10
123
156
  signing_key:
124
157
  specification_version: 4
125
158
  summary: Feature flippers with redis.