flipper-active_record 0.24.1 → 0.25.0

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 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