flipper-sequel 0.20.2 → 0.21.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: 1ce49f778a8a9a38a82188697fe34a1447cf84b98028768c037426638b912224
4
- data.tar.gz: 06d4c6e496defd0720846e9d286904a709a275ae1e278847f778f7d160becaf3
3
+ metadata.gz: aa83337636b5039464206b454335756a1065343c1ae8d7fe8083b4d27dcf604e
4
+ data.tar.gz: 32af671861afdf85d3a6c800fa38e6223cef9fa67fc837db1b19a03b1d206857
5
5
  SHA512:
6
- metadata.gz: a882b660d4762262810f85e16d9b469bd3c33a51c9b57f6b158b65bad443cf467caac0e050ce364a418088ff115c1768b430e338a1fb6918178ea08695dbec2b
7
- data.tar.gz: 2a7af1e6466912d74fde9229ea5eca8fe372c65d51a7f758cbd78ad676ae14d0dbf7d80c8f1f12fb7c3bf2133f14b0ce7678415ec6fc4f5f89543dbfbe28055b
6
+ metadata.gz: a613b22e95c6c5478837cece0f58508d5e92b51e3b9902a873146b17813ffbd3fdd9dccd89ec8bd4bd8fe0b36a3e4743c9947b28244c54d3c549d4f620f7ef88
7
+ data.tar.gz: 5d5eef8a95a52645e07ef5d10c201dc32d9551941168f53df10ff7c847a5c6b327f3739ab6c1eee8ee98dd56cbe994232711775feb99693b3e405313835a4d10
@@ -25,13 +25,18 @@ require 'generators/flipper/templates/sequel_migration'
25
25
  CreateFlipperTablesSequel.new(Sequel::Model.db).up
26
26
  ```
27
27
 
28
- Once you have created and executed the migration, you can use the sequel adapter like so:
28
+ Once you have created and executed the migration, you can use the sequel adapter by simply requiring it:
29
29
 
30
30
  ```ruby
31
- require 'flipper/adapters/sequel'
32
- adapter = Flipper::Adapters::Sequel.new
33
- flipper = Flipper.new(adapter)
34
- # profit...
31
+ require 'flipper-sequel`
32
+ ```
33
+
34
+ **If you need to customize the adapter**, you can add this to an initializer:
35
+
36
+ ```ruby
37
+ Flipper.configure do |config|
38
+ config.adapter { Flipper::Adapters::Sequel.new }
39
+ end
35
40
  ```
36
41
 
37
42
  ## Internals
@@ -1,10 +1,4 @@
1
- require 'pathname'
2
- require 'logger'
3
-
4
- root_path = Pathname(__FILE__).dirname.join('..').expand_path
5
- lib_path = root_path.join('lib')
6
- $:.unshift(lib_path)
7
-
1
+ require 'bundler/setup'
8
2
  require 'sequel'
9
3
  Sequel::Model.db = Sequel.sqlite(':memory:')
10
4
  Sequel.extension :migration, :core_extensions
@@ -13,20 +7,18 @@ require 'generators/flipper/templates/sequel_migration'
13
7
  CreateFlipperTablesSequel.new(Sequel::Model.db).up
14
8
 
15
9
  require 'flipper/adapters/sequel'
16
- adapter = Flipper::Adapters::Sequel.new
17
- flipper = Flipper.new(adapter)
18
10
 
19
- flipper[:stats].enable
11
+ Flipper[:stats].enable
20
12
 
21
- if flipper[:stats].enabled?
13
+ if Flipper[:stats].enabled?
22
14
  puts "Enabled!"
23
15
  else
24
16
  puts "Disabled!"
25
17
  end
26
18
 
27
- flipper[:stats].disable
19
+ Flipper[:stats].disable
28
20
 
29
- if flipper[:stats].enabled?
21
+ if Flipper[:stats].enabled?
30
22
  puts "Enabled!"
31
23
  else
32
24
  puts "Disabled!"
@@ -1,11 +1,4 @@
1
- require 'pp'
2
- require 'pathname'
3
- require 'logger'
4
-
5
- root_path = Pathname(__FILE__).dirname.join('..').expand_path
6
- lib_path = root_path.join('lib')
7
- $:.unshift(lib_path)
8
-
1
+ require 'bundler/setup'
9
2
  require 'sequel'
10
3
  Sequel::Model.db = Sequel.sqlite(':memory:')
11
4
  Sequel.extension :migration, :core_extensions
@@ -14,8 +7,6 @@ require 'generators/flipper/templates/sequel_migration'
14
7
  CreateFlipperTablesSequel.new(Sequel::Model.db).up
15
8
 
16
9
  require 'flipper/adapters/sequel'
17
- adapter = Flipper::Adapters::Sequel.new
18
- flipper = Flipper.new(adapter)
19
10
 
20
11
  # Register a few groups.
21
12
  Flipper.register(:admins) { |thing| thing.admin? }
@@ -24,16 +15,16 @@ Flipper.register(:early_access) { |thing| thing.early_access? }
24
15
  # Create a user class that has flipper_id instance method.
25
16
  User = Struct.new(:flipper_id)
26
17
 
27
- flipper[:stats].enable
28
- flipper[:stats].enable_group :admins
29
- flipper[:stats].enable_group :early_access
30
- flipper[:stats].enable_actor User.new('25')
31
- flipper[:stats].enable_actor User.new('90')
32
- flipper[:stats].enable_actor User.new('180')
33
- flipper[:stats].enable_percentage_of_time 15
34
- flipper[:stats].enable_percentage_of_actors 45
18
+ Flipper[:stats].enable
19
+ Flipper[:stats].enable_group :admins
20
+ Flipper[:stats].enable_group :early_access
21
+ Flipper[:stats].enable_actor User.new('25')
22
+ Flipper[:stats].enable_actor User.new('90')
23
+ Flipper[:stats].enable_actor User.new('180')
24
+ Flipper[:stats].enable_percentage_of_time 15
25
+ Flipper[:stats].enable_percentage_of_actors 45
35
26
 
36
- flipper[:search].enable
27
+ Flipper[:search].enable
37
28
 
38
29
  puts 'all rows in features table'
39
30
  pp Flipper::Adapters::Sequel::Feature.all
@@ -55,7 +46,7 @@ pp Flipper::Adapters::Sequel::Gate.all
55
46
  puts
56
47
 
57
48
  puts 'flipper get of feature'
58
- pp adapter.get(flipper[:stats])
49
+ pp Flipper.adapter.get(Flipper[:stats])
59
50
  # {:boolean=>"true",
60
51
  # :groups=>#<Set: {"admins", "early_access"}>,
61
52
  # :actors=>#<Set: {"180", "25", "90"}>,
@@ -210,3 +210,9 @@ module Flipper
210
210
  end
211
211
  end
212
212
  end
213
+
214
+ Flipper.configure do |config|
215
+ config.adapter { Flipper::Adapters::Sequel.new }
216
+ end
217
+
218
+ Sequel::Model.include Flipper::Identifier
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = '0.20.2'.freeze
2
+ VERSION = '0.21.0'.freeze
3
3
  end
@@ -28,4 +28,21 @@ RSpec.describe Flipper::Adapters::Sequel do
28
28
  end
29
29
 
30
30
  it_should_behave_like 'a flipper adapter'
31
+
32
+ context 'requiring "flipper-sequel"' do
33
+ before do
34
+ Flipper.configuration = nil
35
+ Flipper.instance = nil
36
+
37
+ load 'flipper/adapters/sequel.rb'
38
+ end
39
+
40
+ it 'configures itself' do
41
+ expect(Flipper.adapter.adapter).to be_a(Flipper::Adapters::Sequel)
42
+ end
43
+
44
+ it "defines #flipper_id on Sequel::Model" do
45
+ expect(Sequel::Model.ancestors).to include(Flipper::Identifier)
46
+ end
47
+ end
31
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipper-sequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.2
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Nunemaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-08 00:00:00.000000000 Z
11
+ date: 2021-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: flipper
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.20.2
19
+ version: 0.21.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.20.2
26
+ version: 0.21.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sequel
29
29
  requirement: !ruby/object:Gem::Requirement