flipper-sequel 0.21.0.rc2 → 0.22.2

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: 4efe692e0aba188f98234a0c12e384ff03417278d41584f96dcf03b3e99cbc45
4
- data.tar.gz: a6657db87c657943a0d4d792251e50cc41518d6b7029c965b80dfba3a7c3bd52
3
+ metadata.gz: 5d2b238673fbd8dc023be112ba013038cf9fff84d09f66efc40c5d4cf3b84410
4
+ data.tar.gz: 3dd7dc4340f0c4893167152b504935bc10a75c4b4a643e89bc7192d7904a63da
5
5
  SHA512:
6
- metadata.gz: a160e508e39851553bdb5dd0a7fb4548ca71e2c332199db43930f218aa43d1d35f3e29812764dc84b113330afd04eeb2fa5ebf758d848a011693a79f7e04f9ea
7
- data.tar.gz: c5dd341cc6acebef08485b0b087407f8f4a9718b23e268442a6dbce9faa4ca34c4d6719a5354316d7f0cef9a048ca201b6de187497d9adc610fbdf37223a4f69
6
+ metadata.gz: e66a0a239453a652a0356ce16fba4406a8cb4752fc441d4bc668fbabd39e18482ff18086aa1e95b89d0727ef43ebf78506d9bf58c4e2c01ef57edbfd2f10d73b
7
+ data.tar.gz: 344b4aa960bb1746eeae1237447956b4ab8e056305ea35b3610c87cdfa6c5850bf5c00932585c96045ac6b2755d86463332fa63e8e4b2cb3776bf4858f794607
@@ -97,11 +97,15 @@ module Flipper
97
97
  end
98
98
 
99
99
  def get_all
100
- db_gates = @gate_class.fetch(<<-SQL).to_a
101
- SELECT ff.key AS feature_key, fg.key, fg.value
102
- FROM #{@feature_class.table_name} ff
103
- LEFT JOIN #{@gate_class.table_name} fg ON ff.key = fg.feature_key
104
- SQL
100
+ feature_table = @feature_class.table_name.to_sym
101
+ gate_table = @gate_class.table_name.to_sym
102
+ features_sql = @feature_class.select(:key.qualify(feature_table).as(:feature_key))
103
+ .select_append(:key.qualify(gate_table))
104
+ .select_append(:value.qualify(gate_table))
105
+ .left_join(@gate_class.table_name.to_sym, feature_key: :key)
106
+ .sql
107
+
108
+ db_gates = @gate_class.fetch(features_sql).to_a
105
109
  grouped_db_gates = db_gates.group_by(&:feature_key)
106
110
  result = Hash.new { |hash, key| hash[key] = default_config }
107
111
  features = grouped_db_gates.keys.map { |key| Flipper::Feature.new(key, self) }
@@ -175,7 +179,11 @@ module Flipper
175
179
  @gate_class.db.transaction do
176
180
  clear(feature) if clear_feature
177
181
  @gate_class.where(args).delete
178
- @gate_class.create(gate_attrs(feature, gate, thing))
182
+
183
+ begin
184
+ @gate_class.create(gate_attrs(feature, gate, thing))
185
+ rescue ::Sequel::UniqueConstraintViolation
186
+ end
179
187
  end
180
188
  end
181
189
 
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = '0.21.0.rc2'.freeze
2
+ VERSION = '0.22.2'.freeze
3
3
  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.21.0.rc2
4
+ version: 0.22.2
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-05-08 00:00:00.000000000 Z
11
+ date: 2021-10-06 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.21.0.rc2
19
+ version: 0.22.2
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.21.0.rc2
26
+ version: 0.22.2
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: 1.3.1
82
+ version: '0'
83
83
  requirements: []
84
84
  rubygems_version: 3.0.3
85
85
  signing_key: