flipper-sequel 0.20.1 → 0.21.0.rc2

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
2
  SHA256:
3
- metadata.gz: 13527d2a2da5a22756ea0137b470af61193855f7d7c3ec9c89a3c67678617cf5
4
- data.tar.gz: fefa9334b7079d518bdeab69ded09dade8b02fda4da38ebc9e630f357cec1fd7
3
+ metadata.gz: 4efe692e0aba188f98234a0c12e384ff03417278d41584f96dcf03b3e99cbc45
4
+ data.tar.gz: a6657db87c657943a0d4d792251e50cc41518d6b7029c965b80dfba3a7c3bd52
5
5
  SHA512:
6
- metadata.gz: a19660b947f3b9ff4c85bf0653f3e8b8f19a5db25c534994ab134b0c0d82d02b6b3cd9a284ca6ef7f4a86610447ae97d39bbdeda32fd13e9dd112f59e9aca032
7
- data.tar.gz: 6b7d7abc48afed07be8ece0c71a2dbb6eee0cfde9fec39920bca1b1dbbc601944630978d7c4bbe46693f286be6cbd9ae54046e12fb9cee4163d62e1d7e95b8ca
6
+ metadata.gz: a160e508e39851553bdb5dd0a7fb4548ca71e2c332199db43930f218aa43d1d35f3e29812764dc84b113330afd04eeb2fa5ebf758d848a011693a79f7e04f9ea
7
+ data.tar.gz: c5dd341cc6acebef08485b0b087407f8f4a9718b23e268442a6dbce9faa4ca34c4d6719a5354316d7f0cef9a048ca201b6de187497d9adc610fbdf37223a4f69
@@ -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.1'.freeze
2
+ VERSION = '0.21.0.rc2'.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.1
4
+ version: 0.21.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Nunemaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-31 00:00:00.000000000 Z
11
+ date: 2021-05-08 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.1
19
+ version: 0.21.0.rc2
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.1
26
+ version: 0.21.0.rc2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sequel
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -77,9 +77,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
77
  version: '0'
78
78
  required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - ">"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 1.3.1
83
83
  requirements: []
84
84
  rubygems_version: 3.0.3
85
85
  signing_key: