flipper-active_record 0.24.1 → 0.25.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: cae827c6188dcc898ff53283ad4542f565a10c59b77d3cc2c1ebc7b343e45263
4
- data.tar.gz: faccd217f87b57c0c8d2910f83ce88db6b5fcb0c22c7a62336ebea2d156eff65
3
+ metadata.gz: 4432d45cbc87e12df5a8de40225e97a2d7c9b04f67f9e7ee640b9bd13ec24ba7
4
+ data.tar.gz: 8027fea6e1bc7cc2bddfcbd72f1ec7624354186739ff57856b5c534f6f94bc65
5
5
  SHA512:
6
- metadata.gz: 139cfd73e50728c3630a3d9e04102815ed96ca61d1bd059c172a541266faf7d693367b65a3a2f9c5303a226364790081b0705960ab231df5d9cb6f9727f759cb
7
- data.tar.gz: cdf6215c56268dc223a4c9e5bd112730dbf2cbce2fe8d500e09d905c902674782c28ddba13abdeb1333349a63b7db744d5929f7121172e7b8697ecb08bb99e3d
6
+ metadata.gz: 738c9be60a2aa4f9e66f20bbe5d18e02ea9c57491136cd9f567fa48baa4ced3e6d44ab45e9d7ff4a3eead067d147556e1afc0c40205158910e2162843dd21921
7
+ data.tar.gz: c37ce69fbf80ec2fe653c53d9128ea02dc660524e419ac0fd91a2fdf7b4835f1f1c2652803b49d12dbad11ec9a60a1f0dfc96684e52ef16916adf2b5d235fbed
@@ -7,21 +7,26 @@ module Flipper
7
7
  class ActiveRecord
8
8
  include ::Flipper::Adapter
9
9
 
10
+ # Abstract base class for internal models
11
+ class Model < ::ActiveRecord::Base
12
+ self.abstract_class = true
13
+ end
14
+
10
15
  # Private: Do not use outside of this adapter.
11
- class Feature < ::ActiveRecord::Base
16
+ class Feature < Model
12
17
  self.table_name = [
13
- ::ActiveRecord::Base.table_name_prefix,
18
+ Model.table_name_prefix,
14
19
  "flipper_features",
15
- ::ActiveRecord::Base.table_name_suffix,
20
+ Model.table_name_suffix,
16
21
  ].join
17
22
  end
18
23
 
19
24
  # Private: Do not use outside of this adapter.
20
- class Gate < ::ActiveRecord::Base
25
+ class Gate < Model
21
26
  self.table_name = [
22
- ::ActiveRecord::Base.table_name_prefix,
27
+ Model.table_name_prefix,
23
28
  "flipper_gates",
24
- ::ActiveRecord::Base.table_name_suffix,
29
+ Model.table_name_suffix,
25
30
  ].join
26
31
  end
27
32
 
@@ -106,7 +111,7 @@ module Flipper
106
111
  rows_query = features.join(gates, Arel::Nodes::OuterJoin)
107
112
  .on(features[:key].eq(gates[:feature_key]))
108
113
  .project(features[:key].as('feature_key'), gates[:key], gates[:value])
109
- rows = ::ActiveRecord::Base.connection.select_all rows_query
114
+ rows = @feature_class.connection.select_all rows_query
110
115
  db_gates = rows.map { |row| Gate.new(row) }
111
116
  grouped_db_gates = db_gates.group_by(&:feature_key)
112
117
  result = Hash.new { |hash, key| hash[key] = default_config }
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = '0.24.1'.freeze
2
+ VERSION = '0.25.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.24.1
4
+ version: 0.25.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: 2022-04-13 00:00:00.000000000 Z
11
+ date: 2022-06-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.24.1
19
+ version: 0.25.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.24.1
26
+ version: 0.25.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement