rollout-ui 0.8.2 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20b692482ef246dfbd60db5494d0730866913989d951f003aed72678233747bc
4
- data.tar.gz: 4119e43228ccd69b654ec48e9b8784979931eb054cc43fc93816e1e0cc5a0fea
3
+ metadata.gz: 4206916ef324d7cfb3884b9a3c49529ce13c1775c48d3de796ae2cea639355b7
4
+ data.tar.gz: 9e0702e530a5dc7b9e22b5201e7a6165395573b3f4154236823cfc1dfe91a18c
5
5
  SHA512:
6
- metadata.gz: ce849886243dd7fbbad302880b793bd0ff9bac4619e2ffe38f5b1c429ac2e20b62d103a47adad0b34ee873777e61bb60aa793d2c0d173e27de8686a609dfa1ca
7
- data.tar.gz: 2fc5156404d3a12b5d7d5ee84925c092a1838d78d9f4b05ba81ec38b831ff018620fd61c188fb601186d4574b4a8b25c3696ade1928f45bf6ef024711950b606
6
+ metadata.gz: 2023c3c6b08fe1d9ea02b976b1b8feacf96b64175c69fc9fcb673343a603afd3fb24674ed7adb852006b7f14b7da24dcd0a0fb4c3433ac24bdeb2bf6d303f0ce
7
+ data.tar.gz: 1c881df9faa5d1f7ae3bafe43e09491bd37f0b6b5d38b21190ad826f4741a776f58d22a5cf9d8a90f79fbd38242e3eb98f647d34389ef799f11131432a9149ae
data/README.md CHANGED
@@ -12,9 +12,13 @@ you can just mount as a Rack app and it will just work.
12
12
  Add it to your application's Gemfile:
13
13
 
14
14
  ```ruby
15
- gem 'rollout-ui'
15
+ gem "rollout", "~> 3.1"
16
+ gem "rollout-redis-adapter", "~> 0.1"
17
+ gem "rollout-ui"
16
18
  ```
17
19
 
20
+ `rollout-ui` 0.9+ requires Rollout 3.1 and does not support Rollout 2.x. The UI is backend-neutral: applications using Redis should add `rollout-redis-adapter` and pass a configured Rollout instance into the UI.
21
+
18
22
  Mount it
19
23
 
20
24
  ```ruby
@@ -73,7 +77,15 @@ To get the most out of **rollout-ui**, we recommend you to turn on logging
73
77
  on your rollout instance to see history of changes in the UI.
74
78
 
75
79
  ```ruby
76
- $rollout = Rollout.new(Redis.current, logging: { history_length: 100, global: true })
80
+ require "redis"
81
+ require "rollout"
82
+ require "rollout/adapters/redis"
83
+
84
+ $redis = Redis.new
85
+ $rollout = Rollout.new(
86
+ adapter: Rollout::Adapters::Redis.new($redis),
87
+ logging: { history_length: 100, global: true },
88
+ )
77
89
  ```
78
90
 
79
91
  To also see who updated states of your rollouts, you can configure `actor` and
data/config.ru CHANGED
@@ -2,13 +2,17 @@
2
2
 
3
3
  require_relative 'lib/rollout/ui'
4
4
  require 'redis'
5
+ require 'rollout/adapters/redis'
5
6
 
6
7
  redis_host = ENV.fetch('REDIS_HOST', 'localhost')
7
8
  redis_port = ENV.fetch('REDIS_PORT', '6379')
8
9
  redis_db = ENV.fetch('REDIS_DB', '10')
9
10
 
10
- redis = Redis.new(host: redis_host, port: redis_port, db: redis_db)
11
- rollout = Rollout.new(redis, logging: { history_length: 100, global: true })
11
+ redis = ::Redis.new(host: redis_host, port: redis_port, db: redis_db)
12
+ rollout = Rollout.new(
13
+ adapter: Rollout::Adapters::Redis.new(redis),
14
+ logging: { history_length: 100, global: true },
15
+ )
12
16
 
13
17
  %i[employees developers subscribers].each do |group|
14
18
  rollout.define_group(group) { }
@@ -1,5 +1,5 @@
1
1
  class Rollout
2
2
  module UI
3
- VERSION = "0.8.2"
3
+ VERSION = "0.9.0"
4
4
  end
5
5
  end
@@ -60,8 +60,8 @@ module Rollout::UI
60
60
  if params[:users]
61
61
  feature.users = params[:users].split(',').map(&:strip).uniq.sort
62
62
  end
63
- feature.data.update(description: params[:description])
64
- feature.data.update(updated_at: Time.now.to_i)
63
+ feature.data["description"] = params[:description]
64
+ feature.data["updated_at"] = Time.now.to_i
65
65
  end
66
66
  end
67
67
 
@@ -75,7 +75,7 @@ module Rollout::UI
75
75
  with_rollout_context(rollout, actor: actor) do
76
76
  rollout.with_feature(params[:feature_name]) do |feature|
77
77
  feature.percentage = params[:percentage].to_f.clamp(0.0, 100.0)
78
- feature.data.update(updated_at: Time.now.to_i)
78
+ feature.data["updated_at"] = Time.now.to_i
79
79
  end
80
80
  end
81
81
 
data/rollout-ui.gemspec CHANGED
@@ -22,10 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_dependency 'rollout', '~> 2.6'
25
+ spec.add_dependency 'rollout', '>= 3.1', '< 4'
26
26
  spec.add_dependency 'sinatra', ['>= 2.0', '< 5.0']
27
27
  spec.add_dependency 'sinatra-contrib', ['>= 2.0', '< 5.0']
28
28
 
29
+ spec.add_development_dependency 'rollout-redis-adapter', '~> 0.1'
30
+ spec.add_development_dependency 'redis-namespace'
29
31
  spec.add_development_dependency 'bundler', '>= 1.17'
30
32
  spec.add_development_dependency 'rake'
31
33
  spec.add_development_dependency 'rspec', '~> 3.13'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollout-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - FetLife
@@ -13,16 +13,22 @@ dependencies:
13
13
  name: rollout
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.1'
19
+ - - "<"
17
20
  - !ruby/object:Gem::Version
18
- version: '2.6'
21
+ version: '4'
19
22
  type: :runtime
20
23
  prerelease: false
21
24
  version_requirements: !ruby/object:Gem::Requirement
22
25
  requirements:
23
- - - "~>"
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '3.1'
29
+ - - "<"
24
30
  - !ruby/object:Gem::Version
25
- version: '2.6'
31
+ version: '4'
26
32
  - !ruby/object:Gem::Dependency
27
33
  name: sinatra
28
34
  requirement: !ruby/object:Gem::Requirement
@@ -63,6 +69,34 @@ dependencies:
63
69
  - - "<"
64
70
  - !ruby/object:Gem::Version
65
71
  version: '5.0'
72
+ - !ruby/object:Gem::Dependency
73
+ name: rollout-redis-adapter
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '0.1'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '0.1'
86
+ - !ruby/object:Gem::Dependency
87
+ name: redis-namespace
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
66
100
  - !ruby/object:Gem::Dependency
67
101
  name: bundler
68
102
  requirement: !ruby/object:Gem::Requirement