flipper-active_record 0.21.0 → 0.22.0

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: 817d24520675d09850b573dd90cc0d3156d9814660df8f9e5e3ae0454c7ba2be
4
- data.tar.gz: 0f463aae2f5b685c468adece153f1d90a9da712f105dd473d54a09cdf212a2e5
3
+ metadata.gz: 4d6c72b579bf974d75846d8b6e149f0790736f16848fe4b0e54a7fa2907262c8
4
+ data.tar.gz: de4029f2a4a2e6c8a869cfc1c2eb15b65d97ae627844b22fdc0274c4c9bf8e83
5
5
  SHA512:
6
- metadata.gz: 57808e710308f1644695be92077fd70dedac3b0c513888fcdcef8afcbe7f5a271bab928c352fdc1e1d4c91ce42df2dd2ac71a7ecff352403a33d7231072f783d
7
- data.tar.gz: 20cc9301fd6e53258e14737bc0fd9b97e2e5c78a9bb6eea147b2cc0c539ee44dbf46388730d2114972577f2e3e5adc5b9dd0433bcfe25edcc9cfcb01ff8af0a4
6
+ metadata.gz: cf9efccca1b72b1ef7c99b822ad6507a8fb5040f1460b6a2ed4eacc4d62278f72c1419db54a05e0c2ad3348b6dde4d76f011c314b41bc6ffb9f35e07e1f08a18
7
+ data.tar.gz: b864b6658ef23db29a0f3007fb24b7f641f26d59be006473102b39c2c42e6905ec776df28e2a47e5ab6e8d780f41862aae1a3b7ef9f8a8ac80a693beb7000501
@@ -25,5 +25,5 @@ Gem::Specification.new do |gem|
25
25
  gem.metadata = Flipper::METADATA
26
26
 
27
27
  gem.add_dependency 'flipper', "~> #{Flipper::VERSION}"
28
- gem.add_dependency 'activerecord', '>= 5.0', '< 7'
28
+ gem.add_dependency 'activerecord', '>= 4.2', '< 7'
29
29
  end
@@ -101,11 +101,12 @@ module Flipper
101
101
  end
102
102
 
103
103
  def get_all
104
- rows = ::ActiveRecord::Base.connection.select_all <<-SQL.tr("\n", ' ')
105
- SELECT ff.key AS feature_key, fg.key, fg.value
106
- FROM #{@feature_class.table_name} ff
107
- LEFT JOIN #{@gate_class.table_name} fg ON ff.key = fg.feature_key
108
- SQL
104
+ features = ::Arel::Table.new(@feature_class.table_name.to_sym)
105
+ gates = ::Arel::Table.new(@gate_class.table_name.to_sym)
106
+ rows_query = features.join(gates, Arel::Nodes::OuterJoin)
107
+ .on(features[:key].eq(gates[:feature_key]))
108
+ .project(features[:key].as('feature_key'), gates[:key], gates[:value])
109
+ rows = ::ActiveRecord::Base.connection.select_all rows_query
109
110
  db_gates = rows.map { |row| Gate.new(row) }
110
111
  grouped_db_gates = db_gates.group_by(&:feature_key)
111
112
  result = Hash.new { |hash, key| hash[key] = default_config }
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = '0.21.0'.freeze
2
+ VERSION = '0.22.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipper-active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.22.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-05-09 00:00:00.000000000 Z
11
+ date: 2021-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: flipper
@@ -16,21 +16,21 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.21.0
19
+ version: 0.22.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.21.0
26
+ version: 0.22.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '5.0'
33
+ version: '4.2'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
36
  version: '7'
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: '5.0'
43
+ version: '4.2'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '7'