flipper-sequel 0.11.0.beta9 → 0.11.0.rc1
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 +4 -4
- data/lib/flipper/adapters/sequel.rb +31 -9
- data/lib/flipper/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90dd7629ae70dfd567418340e4ef932d48c63a86
|
4
|
+
data.tar.gz: 72c586010cb4503ede3848e2b3a9471ca2de70c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbd9d418f58b8f8db4825fccd69989614a0cdcda5b4857ee080b7ff5b11832bea737742a5a69f2a0d9a2415284ce7b89f8f824be42132c88b0a5bb5b5bbf04b2
|
7
|
+
data.tar.gz: a383172a9b10de5c8cfe0732b0706a62db7b49cd0e0472fda88a2c839f715e6cc81a76d9108638e0f230aba7a5a09346080d31ed0261a902bae8b16fff1b85d0
|
@@ -7,18 +7,25 @@ module Flipper
|
|
7
7
|
class Sequel
|
8
8
|
include ::Flipper::Adapter
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
begin
|
11
|
+
old = ::Sequel::Model.require_valid_table
|
12
|
+
::Sequel::Model.require_valid_table = false
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
# Private: Do not use outside of this adapter.
|
15
|
+
class Feature < ::Sequel::Model(:flipper_features)
|
16
|
+
unrestrict_primary_key
|
17
|
+
|
18
|
+
plugin :timestamps, update_on_create: true
|
19
|
+
end
|
16
20
|
|
17
|
-
|
18
|
-
|
19
|
-
|
21
|
+
# Private: Do not use outside of this adapter.
|
22
|
+
class Gate < ::Sequel::Model(:flipper_gates)
|
23
|
+
unrestrict_primary_key
|
20
24
|
|
21
|
-
|
25
|
+
plugin :timestamps, update_on_create: true
|
26
|
+
end
|
27
|
+
ensure
|
28
|
+
::Sequel::Model.require_valid_table = old
|
22
29
|
end
|
23
30
|
|
24
31
|
# Public: The name of the adapter.
|
@@ -89,6 +96,21 @@ module Flipper
|
|
89
96
|
result
|
90
97
|
end
|
91
98
|
|
99
|
+
def get_all
|
100
|
+
db_gates = @gate_class.fetch(<<-SQL).to_a
|
101
|
+
SELECT g.*
|
102
|
+
FROM #{@gate_class.table_name} g
|
103
|
+
INNER JOIN #{@feature_class.table_name} f ON f.key = g.feature_key
|
104
|
+
SQL
|
105
|
+
grouped_db_gates = db_gates.group_by(&:feature_key)
|
106
|
+
result = Hash.new { |hash, key| hash[key] = default_config }
|
107
|
+
features = grouped_db_gates.keys.map { |key| Flipper::Feature.new(key, self) }
|
108
|
+
features.each do |feature|
|
109
|
+
result[feature.key] = result_for_feature(feature, grouped_db_gates[feature.key])
|
110
|
+
end
|
111
|
+
result
|
112
|
+
end
|
113
|
+
|
92
114
|
# Public: Enables a gate for a given thing.
|
93
115
|
#
|
94
116
|
# feature - The Flipper::Feature for the gate.
|
data/lib/flipper/version.rb
CHANGED
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.11.0.
|
4
|
+
version: 0.11.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Nunemaker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-04 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.11.0.
|
19
|
+
version: 0.11.0.rc1
|
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.11.0.
|
26
|
+
version: 0.11.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sequel
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|