activerecord-multi-tenant 1.1.0 → 1.1.1

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: 7125d7827e44ce5347a6391c97e740f74f1b20e0295ee1d88d80750c5d04c222
4
- data.tar.gz: 5acb0ae83aef24141696b1683f759bed2ca7f5d8b6f9354b2ff9104f8c4d2f9c
3
+ metadata.gz: 79f35cfc24d053c192a889fcb387c764cf2580e350aa8c7db5ff4ea84d3c44df
4
+ data.tar.gz: 04bb2200ae11168efe55090482686b00e457f267696d110fec5669ae1e2c70fd
5
5
  SHA512:
6
- metadata.gz: 761e37256c39851708bf4963a679e7d77f1f4f8c7d3a51d187bc5b6943d311caf75f9dbbd4ad5fd19a410940f245697c823c215edd38735599554b7685a1600d
7
- data.tar.gz: 7e5063cd44d333a83afe565b713afc0af5d7e6aee2f849bd60afbb903e6aa11c4019e321019bccde91628051a558eca6e763f944b7dab327363949eabf76b27f
6
+ metadata.gz: 5b807cc7064efd06487fa8995f49cfbfdc7b15e5ccbc1e84510e0c742d6b14f8e7168145e6a520c8ea613735621b799dc6478ed8a749db68c7020ebe936b73b1
7
+ data.tar.gz: 4e8aca6b32a413a54ecc900dc6e36ee57f06faf88504d4c4b210153456b5090aa8a2a660555c1587d1c1a06ae0126db3002e0cba0d0d935f0688f7bc84c9c362
@@ -11,8 +11,10 @@ rvm:
11
11
  gemfile:
12
12
  - gemfiles/rails_5.2.gemfile
13
13
  - gemfiles/rails_6.0.gemfile
14
+ - gemfiles/rails_6.1.gemfile
14
15
  - gemfiles/active_record_5.2.gemfile
15
16
  - gemfiles/active_record_6.0.gemfile
17
+ - gemfiles/active_record_6.1.gemfile
16
18
 
17
19
  env:
18
20
  - PREPARED_STATEMENTS=0
data/Appraisals CHANGED
@@ -14,6 +14,10 @@ appraise 'rails-6.0' do
14
14
  gem 'rails', '~> 6.0.3'
15
15
  end
16
16
 
17
+ appraise 'rails-6.1' do
18
+ gem 'rails', '~> 6.1.0'
19
+ end
20
+
17
21
  appraise 'active-record-5.2' do
18
22
  gem 'activerecord', '~> 5.2.0'
19
23
  gem 'i18n', '~> 0.9.5'
@@ -29,3 +33,7 @@ end
29
33
  appraise 'active-record-6.0' do
30
34
  gem 'activerecord', '~> 6.0.3'
31
35
  end
36
+
37
+ appraise 'active-record-6.1' do
38
+ gem 'activerecord', '~> 6.1.0'
39
+ end
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.1 2021-01-15
4
+
5
+ * Add support for Rails 6.1 [#108](https://github.com/citusdata/activerecord-multi-tenant/pull/108)
6
+ * Fix statement cache for has_many through relations [#103](https://github.com/citusdata/activerecord-multi-tenant/pull/103)
7
+
8
+
9
+ ## 1.1.0 2020-08-06
10
+
11
+ * See commits for changes:
12
+ https://github.com/citusdata/activerecord-multi-tenant/commits/v1.1.0
13
+
3
14
 
4
15
  ## 1.0.4 2019-10-30
5
16
 
@@ -1,63 +1,63 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- activerecord-multi-tenant (1.1.0)
4
+ activerecord-multi-tenant (1.1.1)
5
5
  rails (>= 4.2)
6
6
  request_store (>= 1.0.5)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (6.0.3.2)
12
- actionpack (= 6.0.3.2)
11
+ actioncable (6.0.3.3)
12
+ actionpack (= 6.0.3.3)
13
13
  nio4r (~> 2.0)
14
14
  websocket-driver (>= 0.6.1)
15
- actionmailbox (6.0.3.2)
16
- actionpack (= 6.0.3.2)
17
- activejob (= 6.0.3.2)
18
- activerecord (= 6.0.3.2)
19
- activestorage (= 6.0.3.2)
20
- activesupport (= 6.0.3.2)
15
+ actionmailbox (6.0.3.3)
16
+ actionpack (= 6.0.3.3)
17
+ activejob (= 6.0.3.3)
18
+ activerecord (= 6.0.3.3)
19
+ activestorage (= 6.0.3.3)
20
+ activesupport (= 6.0.3.3)
21
21
  mail (>= 2.7.1)
22
- actionmailer (6.0.3.2)
23
- actionpack (= 6.0.3.2)
24
- actionview (= 6.0.3.2)
25
- activejob (= 6.0.3.2)
22
+ actionmailer (6.0.3.3)
23
+ actionpack (= 6.0.3.3)
24
+ actionview (= 6.0.3.3)
25
+ activejob (= 6.0.3.3)
26
26
  mail (~> 2.5, >= 2.5.4)
27
27
  rails-dom-testing (~> 2.0)
28
- actionpack (6.0.3.2)
29
- actionview (= 6.0.3.2)
30
- activesupport (= 6.0.3.2)
28
+ actionpack (6.0.3.3)
29
+ actionview (= 6.0.3.3)
30
+ activesupport (= 6.0.3.3)
31
31
  rack (~> 2.0, >= 2.0.8)
32
32
  rack-test (>= 0.6.3)
33
33
  rails-dom-testing (~> 2.0)
34
34
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
35
- actiontext (6.0.3.2)
36
- actionpack (= 6.0.3.2)
37
- activerecord (= 6.0.3.2)
38
- activestorage (= 6.0.3.2)
39
- activesupport (= 6.0.3.2)
35
+ actiontext (6.0.3.3)
36
+ actionpack (= 6.0.3.3)
37
+ activerecord (= 6.0.3.3)
38
+ activestorage (= 6.0.3.3)
39
+ activesupport (= 6.0.3.3)
40
40
  nokogiri (>= 1.8.5)
41
- actionview (6.0.3.2)
42
- activesupport (= 6.0.3.2)
41
+ actionview (6.0.3.3)
42
+ activesupport (= 6.0.3.3)
43
43
  builder (~> 3.1)
44
44
  erubi (~> 1.4)
45
45
  rails-dom-testing (~> 2.0)
46
46
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
47
- activejob (6.0.3.2)
48
- activesupport (= 6.0.3.2)
47
+ activejob (6.0.3.3)
48
+ activesupport (= 6.0.3.3)
49
49
  globalid (>= 0.3.6)
50
- activemodel (6.0.3.2)
51
- activesupport (= 6.0.3.2)
52
- activerecord (6.0.3.2)
53
- activemodel (= 6.0.3.2)
54
- activesupport (= 6.0.3.2)
55
- activestorage (6.0.3.2)
56
- actionpack (= 6.0.3.2)
57
- activejob (= 6.0.3.2)
58
- activerecord (= 6.0.3.2)
50
+ activemodel (6.0.3.3)
51
+ activesupport (= 6.0.3.3)
52
+ activerecord (6.0.3.3)
53
+ activemodel (= 6.0.3.3)
54
+ activesupport (= 6.0.3.3)
55
+ activestorage (6.0.3.3)
56
+ actionpack (= 6.0.3.3)
57
+ activejob (= 6.0.3.3)
58
+ activerecord (= 6.0.3.3)
59
59
  marcel (~> 0.3.1)
60
- activesupport (6.0.3.2)
60
+ activesupport (6.0.3.3)
61
61
  concurrent-ruby (~> 1.0, >= 1.0.2)
62
62
  i18n (>= 0.7, < 2)
63
63
  minitest (~> 5.1)
@@ -70,16 +70,16 @@ GEM
70
70
  builder (3.2.4)
71
71
  byebug (11.0.1)
72
72
  coderay (1.1.2)
73
- concurrent-ruby (1.1.6)
73
+ concurrent-ruby (1.1.7)
74
74
  connection_pool (2.2.2)
75
75
  crass (1.0.6)
76
76
  diff-lcs (1.3)
77
77
  erubi (1.9.0)
78
78
  globalid (0.4.2)
79
79
  activesupport (>= 4.2.0)
80
- i18n (1.8.3)
80
+ i18n (1.8.5)
81
81
  concurrent-ruby (~> 1.0)
82
- loofah (2.6.0)
82
+ loofah (2.7.0)
83
83
  crass (~> 1.0.2)
84
84
  nokogiri (>= 1.5.9)
85
85
  mail (2.7.1)
@@ -89,11 +89,12 @@ GEM
89
89
  method_source (0.9.2)
90
90
  mimemagic (0.3.5)
91
91
  mini_mime (1.0.2)
92
- mini_portile2 (2.4.0)
93
- minitest (5.14.1)
94
- nio4r (2.5.2)
95
- nokogiri (1.10.9)
96
- mini_portile2 (~> 2.4.0)
92
+ mini_portile2 (2.5.0)
93
+ minitest (5.14.2)
94
+ nio4r (2.5.4)
95
+ nokogiri (1.11.1)
96
+ mini_portile2 (~> 2.5.0)
97
+ racc (~> 1.4)
97
98
  pg (1.1.4)
98
99
  pry (0.12.2)
99
100
  coderay (~> 1.1.0)
@@ -101,40 +102,41 @@ GEM
101
102
  pry-byebug (3.7.0)
102
103
  byebug (~> 11.0)
103
104
  pry (~> 0.10)
105
+ racc (1.5.2)
104
106
  rack (2.2.3)
105
107
  rack-protection (2.0.5)
106
108
  rack
107
109
  rack-test (1.1.0)
108
110
  rack (>= 1.0, < 3)
109
- rails (6.0.3.2)
110
- actioncable (= 6.0.3.2)
111
- actionmailbox (= 6.0.3.2)
112
- actionmailer (= 6.0.3.2)
113
- actionpack (= 6.0.3.2)
114
- actiontext (= 6.0.3.2)
115
- actionview (= 6.0.3.2)
116
- activejob (= 6.0.3.2)
117
- activemodel (= 6.0.3.2)
118
- activerecord (= 6.0.3.2)
119
- activestorage (= 6.0.3.2)
120
- activesupport (= 6.0.3.2)
111
+ rails (6.0.3.3)
112
+ actioncable (= 6.0.3.3)
113
+ actionmailbox (= 6.0.3.3)
114
+ actionmailer (= 6.0.3.3)
115
+ actionpack (= 6.0.3.3)
116
+ actiontext (= 6.0.3.3)
117
+ actionview (= 6.0.3.3)
118
+ activejob (= 6.0.3.3)
119
+ activemodel (= 6.0.3.3)
120
+ activerecord (= 6.0.3.3)
121
+ activestorage (= 6.0.3.3)
122
+ activesupport (= 6.0.3.3)
121
123
  bundler (>= 1.3.0)
122
- railties (= 6.0.3.2)
124
+ railties (= 6.0.3.3)
123
125
  sprockets-rails (>= 2.0.0)
124
126
  rails-dom-testing (2.0.3)
125
127
  activesupport (>= 4.2.0)
126
128
  nokogiri (>= 1.6)
127
129
  rails-html-sanitizer (1.3.0)
128
130
  loofah (~> 2.3)
129
- railties (6.0.3.2)
130
- actionpack (= 6.0.3.2)
131
- activesupport (= 6.0.3.2)
131
+ railties (6.0.3.3)
132
+ actionpack (= 6.0.3.3)
133
+ activesupport (= 6.0.3.3)
132
134
  method_source
133
135
  rake (>= 0.8.7)
134
136
  thor (>= 0.20.3, < 2.0)
135
137
  rake (13.0.1)
136
138
  redis (4.1.2)
137
- request_store (1.4.1)
139
+ request_store (1.5.0)
138
140
  rack (>= 1.4)
139
141
  rspec (3.8.0)
140
142
  rspec-core (~> 3.8.0)
@@ -165,7 +167,7 @@ GEM
165
167
  sprockets (4.0.2)
166
168
  concurrent-ruby (~> 1.0)
167
169
  rack (> 1, < 3)
168
- sprockets-rails (3.2.1)
170
+ sprockets-rails (3.2.2)
169
171
  actionpack (>= 4.0)
170
172
  activesupport (>= 4.0)
171
173
  sprockets (>= 3.0.0)
@@ -173,10 +175,10 @@ GEM
173
175
  thread_safe (0.3.6)
174
176
  tzinfo (1.2.7)
175
177
  thread_safe (~> 0.1)
176
- websocket-driver (0.7.2)
178
+ websocket-driver (0.7.3)
177
179
  websocket-extensions (>= 0.1.0)
178
180
  websocket-extensions (0.1.5)
179
- zeitwerk (2.3.0)
181
+ zeitwerk (2.4.0)
180
182
 
181
183
  PLATFORMS
182
184
  ruby
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- activerecord-multi-tenant (1.1.0)
4
+ activerecord-multi-tenant (1.1.1)
5
5
  rails (>= 4.2)
6
6
  request_store (>= 1.0.5)
7
7
 
@@ -150,7 +150,7 @@ GEM
150
150
  sprockets (3.7.2)
151
151
  concurrent-ruby (~> 1.0)
152
152
  rack (> 1, < 3)
153
- sprockets-rails (3.2.1)
153
+ sprockets-rails (3.2.2)
154
154
  actionpack (>= 4.0)
155
155
  activesupport (>= 4.0)
156
156
  sprockets (>= 3.0.0)
@@ -158,9 +158,9 @@ GEM
158
158
  thread_safe (0.3.6)
159
159
  tzinfo (1.2.7)
160
160
  thread_safe (~> 0.1)
161
- websocket-driver (0.7.2)
161
+ websocket-driver (0.7.3)
162
162
  websocket-extensions (>= 0.1.0)
163
- websocket-extensions (0.1.4)
163
+ websocket-extensions (0.1.5)
164
164
 
165
165
  PLATFORMS
166
166
  ruby
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- activerecord-multi-tenant (1.1.0)
4
+ activerecord-multi-tenant (1.1.1)
5
5
  rails (>= 4.2)
6
6
  request_store (>= 1.0.5)
7
7
 
@@ -91,7 +91,7 @@ GEM
91
91
  mini_mime (1.0.2)
92
92
  mini_portile2 (2.4.0)
93
93
  minitest (5.14.1)
94
- nio4r (2.5.2)
94
+ nio4r (2.5.4)
95
95
  nokogiri (1.10.9)
96
96
  mini_portile2 (~> 2.4.0)
97
97
  pg (1.2.3)
@@ -162,10 +162,10 @@ GEM
162
162
  rack (~> 2.0)
163
163
  rack-protection (>= 2.0.0)
164
164
  redis (>= 4.1.0)
165
- sprockets (4.0.0)
165
+ sprockets (4.0.2)
166
166
  concurrent-ruby (~> 1.0)
167
167
  rack (> 1, < 3)
168
- sprockets-rails (3.2.1)
168
+ sprockets-rails (3.2.2)
169
169
  actionpack (>= 4.0)
170
170
  activesupport (>= 4.0)
171
171
  sprockets (>= 3.0.0)
@@ -173,9 +173,9 @@ GEM
173
173
  thread_safe (0.3.6)
174
174
  tzinfo (1.2.7)
175
175
  thread_safe (~> 0.1)
176
- websocket-driver (0.7.2)
176
+ websocket-driver (0.7.3)
177
177
  websocket-extensions (>= 0.1.0)
178
- websocket-extensions (0.1.4)
178
+ websocket-extensions (0.1.5)
179
179
  zeitwerk (2.3.0)
180
180
 
181
181
  PLATFORMS
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "activerecord", "~> 6.1.0"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,198 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ activerecord-multi-tenant (1.1.1)
5
+ rails (>= 4.2)
6
+ request_store (>= 1.0.5)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ actioncable (6.1.0)
12
+ actionpack (= 6.1.0)
13
+ activesupport (= 6.1.0)
14
+ nio4r (~> 2.0)
15
+ websocket-driver (>= 0.6.1)
16
+ actionmailbox (6.1.0)
17
+ actionpack (= 6.1.0)
18
+ activejob (= 6.1.0)
19
+ activerecord (= 6.1.0)
20
+ activestorage (= 6.1.0)
21
+ activesupport (= 6.1.0)
22
+ mail (>= 2.7.1)
23
+ actionmailer (6.1.0)
24
+ actionpack (= 6.1.0)
25
+ actionview (= 6.1.0)
26
+ activejob (= 6.1.0)
27
+ activesupport (= 6.1.0)
28
+ mail (~> 2.5, >= 2.5.4)
29
+ rails-dom-testing (~> 2.0)
30
+ actionpack (6.1.0)
31
+ actionview (= 6.1.0)
32
+ activesupport (= 6.1.0)
33
+ rack (~> 2.0, >= 2.0.9)
34
+ rack-test (>= 0.6.3)
35
+ rails-dom-testing (~> 2.0)
36
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
+ actiontext (6.1.0)
38
+ actionpack (= 6.1.0)
39
+ activerecord (= 6.1.0)
40
+ activestorage (= 6.1.0)
41
+ activesupport (= 6.1.0)
42
+ nokogiri (>= 1.8.5)
43
+ actionview (6.1.0)
44
+ activesupport (= 6.1.0)
45
+ builder (~> 3.1)
46
+ erubi (~> 1.4)
47
+ rails-dom-testing (~> 2.0)
48
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
+ activejob (6.1.0)
50
+ activesupport (= 6.1.0)
51
+ globalid (>= 0.3.6)
52
+ activemodel (6.1.0)
53
+ activesupport (= 6.1.0)
54
+ activerecord (6.1.0)
55
+ activemodel (= 6.1.0)
56
+ activesupport (= 6.1.0)
57
+ activestorage (6.1.0)
58
+ actionpack (= 6.1.0)
59
+ activejob (= 6.1.0)
60
+ activerecord (= 6.1.0)
61
+ activesupport (= 6.1.0)
62
+ marcel (~> 0.3.1)
63
+ mimemagic (~> 0.3.2)
64
+ activesupport (6.1.0)
65
+ concurrent-ruby (~> 1.0, >= 1.0.2)
66
+ i18n (>= 1.6, < 2)
67
+ minitest (>= 5.1)
68
+ tzinfo (~> 2.0)
69
+ zeitwerk (~> 2.3)
70
+ appraisal (2.3.0)
71
+ bundler
72
+ rake
73
+ thor (>= 0.14.0)
74
+ builder (3.2.4)
75
+ byebug (11.1.3)
76
+ coderay (1.1.3)
77
+ concurrent-ruby (1.1.7)
78
+ connection_pool (2.2.3)
79
+ crass (1.0.6)
80
+ diff-lcs (1.4.4)
81
+ erubi (1.10.0)
82
+ globalid (0.4.2)
83
+ activesupport (>= 4.2.0)
84
+ i18n (1.8.5)
85
+ concurrent-ruby (~> 1.0)
86
+ loofah (2.8.0)
87
+ crass (~> 1.0.2)
88
+ nokogiri (>= 1.5.9)
89
+ mail (2.7.1)
90
+ mini_mime (>= 0.1.1)
91
+ marcel (0.3.3)
92
+ mimemagic (~> 0.3.2)
93
+ method_source (1.0.0)
94
+ mimemagic (0.3.5)
95
+ mini_mime (1.0.2)
96
+ mini_portile2 (2.4.0)
97
+ minitest (5.14.2)
98
+ nio4r (2.5.4)
99
+ nokogiri (1.10.10)
100
+ mini_portile2 (~> 2.4.0)
101
+ pg (1.2.3)
102
+ pry (0.13.1)
103
+ coderay (~> 1.1)
104
+ method_source (~> 1.0)
105
+ pry-byebug (3.9.0)
106
+ byebug (~> 11.0)
107
+ pry (~> 0.13.0)
108
+ rack (2.2.3)
109
+ rack-test (1.1.0)
110
+ rack (>= 1.0, < 3)
111
+ rails (6.1.0)
112
+ actioncable (= 6.1.0)
113
+ actionmailbox (= 6.1.0)
114
+ actionmailer (= 6.1.0)
115
+ actionpack (= 6.1.0)
116
+ actiontext (= 6.1.0)
117
+ actionview (= 6.1.0)
118
+ activejob (= 6.1.0)
119
+ activemodel (= 6.1.0)
120
+ activerecord (= 6.1.0)
121
+ activestorage (= 6.1.0)
122
+ activesupport (= 6.1.0)
123
+ bundler (>= 1.15.0)
124
+ railties (= 6.1.0)
125
+ sprockets-rails (>= 2.0.0)
126
+ rails-dom-testing (2.0.3)
127
+ activesupport (>= 4.2.0)
128
+ nokogiri (>= 1.6)
129
+ rails-html-sanitizer (1.3.0)
130
+ loofah (~> 2.3)
131
+ railties (6.1.0)
132
+ actionpack (= 6.1.0)
133
+ activesupport (= 6.1.0)
134
+ method_source
135
+ rake (>= 0.8.7)
136
+ thor (~> 1.0)
137
+ rake (13.0.3)
138
+ redis (4.2.5)
139
+ request_store (1.5.0)
140
+ rack (>= 1.4)
141
+ rspec (3.10.0)
142
+ rspec-core (~> 3.10.0)
143
+ rspec-expectations (~> 3.10.0)
144
+ rspec-mocks (~> 3.10.0)
145
+ rspec-core (3.10.1)
146
+ rspec-support (~> 3.10.0)
147
+ rspec-expectations (3.10.1)
148
+ diff-lcs (>= 1.2.0, < 2.0)
149
+ rspec-support (~> 3.10.0)
150
+ rspec-mocks (3.10.1)
151
+ diff-lcs (>= 1.2.0, < 2.0)
152
+ rspec-support (~> 3.10.0)
153
+ rspec-rails (4.0.2)
154
+ actionpack (>= 4.2)
155
+ activesupport (>= 4.2)
156
+ railties (>= 4.2)
157
+ rspec-core (~> 3.10)
158
+ rspec-expectations (~> 3.10)
159
+ rspec-mocks (~> 3.10)
160
+ rspec-support (~> 3.10)
161
+ rspec-support (3.10.1)
162
+ sidekiq (6.1.2)
163
+ connection_pool (>= 2.2.2)
164
+ rack (~> 2.0)
165
+ redis (>= 4.2.0)
166
+ sprockets (4.0.2)
167
+ concurrent-ruby (~> 1.0)
168
+ rack (> 1, < 3)
169
+ sprockets-rails (3.2.2)
170
+ actionpack (>= 4.0)
171
+ activesupport (>= 4.0)
172
+ sprockets (>= 3.0.0)
173
+ thor (1.0.1)
174
+ tzinfo (2.0.4)
175
+ concurrent-ruby (~> 1.0)
176
+ websocket-driver (0.7.3)
177
+ websocket-extensions (>= 0.1.0)
178
+ websocket-extensions (0.1.5)
179
+ zeitwerk (2.4.2)
180
+
181
+ PLATFORMS
182
+ ruby
183
+
184
+ DEPENDENCIES
185
+ activerecord (~> 6.1.0)
186
+ activerecord-multi-tenant!
187
+ appraisal
188
+ pg
189
+ pry
190
+ pry-byebug
191
+ rake
192
+ rspec (>= 3.0)
193
+ rspec-rails
194
+ sidekiq
195
+ thor
196
+
197
+ BUNDLED WITH
198
+ 2.1.4
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- activerecord-multi-tenant (1.1.0)
4
+ activerecord-multi-tenant (1.1.1)
5
5
  rails (>= 4.2)
6
6
  request_store (>= 1.0.5)
7
7
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- activerecord-multi-tenant (1.1.0)
4
+ activerecord-multi-tenant (1.1.1)
5
5
  rails (>= 4.2)
6
6
  request_store (>= 1.0.5)
7
7
 
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "rails", "~> 6.1.0"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,198 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ activerecord-multi-tenant (1.1.1)
5
+ rails (>= 4.2)
6
+ request_store (>= 1.0.5)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ actioncable (6.1.0)
12
+ actionpack (= 6.1.0)
13
+ activesupport (= 6.1.0)
14
+ nio4r (~> 2.0)
15
+ websocket-driver (>= 0.6.1)
16
+ actionmailbox (6.1.0)
17
+ actionpack (= 6.1.0)
18
+ activejob (= 6.1.0)
19
+ activerecord (= 6.1.0)
20
+ activestorage (= 6.1.0)
21
+ activesupport (= 6.1.0)
22
+ mail (>= 2.7.1)
23
+ actionmailer (6.1.0)
24
+ actionpack (= 6.1.0)
25
+ actionview (= 6.1.0)
26
+ activejob (= 6.1.0)
27
+ activesupport (= 6.1.0)
28
+ mail (~> 2.5, >= 2.5.4)
29
+ rails-dom-testing (~> 2.0)
30
+ actionpack (6.1.0)
31
+ actionview (= 6.1.0)
32
+ activesupport (= 6.1.0)
33
+ rack (~> 2.0, >= 2.0.9)
34
+ rack-test (>= 0.6.3)
35
+ rails-dom-testing (~> 2.0)
36
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
+ actiontext (6.1.0)
38
+ actionpack (= 6.1.0)
39
+ activerecord (= 6.1.0)
40
+ activestorage (= 6.1.0)
41
+ activesupport (= 6.1.0)
42
+ nokogiri (>= 1.8.5)
43
+ actionview (6.1.0)
44
+ activesupport (= 6.1.0)
45
+ builder (~> 3.1)
46
+ erubi (~> 1.4)
47
+ rails-dom-testing (~> 2.0)
48
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
+ activejob (6.1.0)
50
+ activesupport (= 6.1.0)
51
+ globalid (>= 0.3.6)
52
+ activemodel (6.1.0)
53
+ activesupport (= 6.1.0)
54
+ activerecord (6.1.0)
55
+ activemodel (= 6.1.0)
56
+ activesupport (= 6.1.0)
57
+ activestorage (6.1.0)
58
+ actionpack (= 6.1.0)
59
+ activejob (= 6.1.0)
60
+ activerecord (= 6.1.0)
61
+ activesupport (= 6.1.0)
62
+ marcel (~> 0.3.1)
63
+ mimemagic (~> 0.3.2)
64
+ activesupport (6.1.0)
65
+ concurrent-ruby (~> 1.0, >= 1.0.2)
66
+ i18n (>= 1.6, < 2)
67
+ minitest (>= 5.1)
68
+ tzinfo (~> 2.0)
69
+ zeitwerk (~> 2.3)
70
+ appraisal (2.3.0)
71
+ bundler
72
+ rake
73
+ thor (>= 0.14.0)
74
+ builder (3.2.4)
75
+ byebug (11.1.3)
76
+ coderay (1.1.3)
77
+ concurrent-ruby (1.1.7)
78
+ connection_pool (2.2.3)
79
+ crass (1.0.6)
80
+ diff-lcs (1.4.4)
81
+ erubi (1.10.0)
82
+ globalid (0.4.2)
83
+ activesupport (>= 4.2.0)
84
+ i18n (1.8.5)
85
+ concurrent-ruby (~> 1.0)
86
+ loofah (2.8.0)
87
+ crass (~> 1.0.2)
88
+ nokogiri (>= 1.5.9)
89
+ mail (2.7.1)
90
+ mini_mime (>= 0.1.1)
91
+ marcel (0.3.3)
92
+ mimemagic (~> 0.3.2)
93
+ method_source (1.0.0)
94
+ mimemagic (0.3.5)
95
+ mini_mime (1.0.2)
96
+ mini_portile2 (2.4.0)
97
+ minitest (5.14.2)
98
+ nio4r (2.5.4)
99
+ nokogiri (1.10.10)
100
+ mini_portile2 (~> 2.4.0)
101
+ pg (1.2.3)
102
+ pry (0.13.1)
103
+ coderay (~> 1.1)
104
+ method_source (~> 1.0)
105
+ pry-byebug (3.9.0)
106
+ byebug (~> 11.0)
107
+ pry (~> 0.13.0)
108
+ rack (2.2.3)
109
+ rack-test (1.1.0)
110
+ rack (>= 1.0, < 3)
111
+ rails (6.1.0)
112
+ actioncable (= 6.1.0)
113
+ actionmailbox (= 6.1.0)
114
+ actionmailer (= 6.1.0)
115
+ actionpack (= 6.1.0)
116
+ actiontext (= 6.1.0)
117
+ actionview (= 6.1.0)
118
+ activejob (= 6.1.0)
119
+ activemodel (= 6.1.0)
120
+ activerecord (= 6.1.0)
121
+ activestorage (= 6.1.0)
122
+ activesupport (= 6.1.0)
123
+ bundler (>= 1.15.0)
124
+ railties (= 6.1.0)
125
+ sprockets-rails (>= 2.0.0)
126
+ rails-dom-testing (2.0.3)
127
+ activesupport (>= 4.2.0)
128
+ nokogiri (>= 1.6)
129
+ rails-html-sanitizer (1.3.0)
130
+ loofah (~> 2.3)
131
+ railties (6.1.0)
132
+ actionpack (= 6.1.0)
133
+ activesupport (= 6.1.0)
134
+ method_source
135
+ rake (>= 0.8.7)
136
+ thor (~> 1.0)
137
+ rake (13.0.3)
138
+ redis (4.2.5)
139
+ request_store (1.5.0)
140
+ rack (>= 1.4)
141
+ rspec (3.10.0)
142
+ rspec-core (~> 3.10.0)
143
+ rspec-expectations (~> 3.10.0)
144
+ rspec-mocks (~> 3.10.0)
145
+ rspec-core (3.10.1)
146
+ rspec-support (~> 3.10.0)
147
+ rspec-expectations (3.10.1)
148
+ diff-lcs (>= 1.2.0, < 2.0)
149
+ rspec-support (~> 3.10.0)
150
+ rspec-mocks (3.10.1)
151
+ diff-lcs (>= 1.2.0, < 2.0)
152
+ rspec-support (~> 3.10.0)
153
+ rspec-rails (4.0.2)
154
+ actionpack (>= 4.2)
155
+ activesupport (>= 4.2)
156
+ railties (>= 4.2)
157
+ rspec-core (~> 3.10)
158
+ rspec-expectations (~> 3.10)
159
+ rspec-mocks (~> 3.10)
160
+ rspec-support (~> 3.10)
161
+ rspec-support (3.10.1)
162
+ sidekiq (6.1.2)
163
+ connection_pool (>= 2.2.2)
164
+ rack (~> 2.0)
165
+ redis (>= 4.2.0)
166
+ sprockets (4.0.2)
167
+ concurrent-ruby (~> 1.0)
168
+ rack (> 1, < 3)
169
+ sprockets-rails (3.2.2)
170
+ actionpack (>= 4.0)
171
+ activesupport (>= 4.0)
172
+ sprockets (>= 3.0.0)
173
+ thor (1.0.1)
174
+ tzinfo (2.0.4)
175
+ concurrent-ruby (~> 1.0)
176
+ websocket-driver (0.7.3)
177
+ websocket-extensions (>= 0.1.0)
178
+ websocket-extensions (0.1.5)
179
+ zeitwerk (2.4.2)
180
+
181
+ PLATFORMS
182
+ ruby
183
+
184
+ DEPENDENCIES
185
+ activerecord-multi-tenant!
186
+ appraisal
187
+ pg
188
+ pry
189
+ pry-byebug
190
+ rails (~> 6.1.0)
191
+ rake
192
+ rspec (>= 3.0)
193
+ rspec-rails
194
+ sidekiq
195
+ thor
196
+
197
+ BUNDLED WITH
198
+ 2.1.4
@@ -0,0 +1,200 @@
1
+ module MultiTenant
2
+ class ArelVisitorsDepthFirst < Arel::Visitors::Visitor
3
+ def initialize(block = nil)
4
+ @block = block || Proc.new
5
+ super()
6
+ end
7
+
8
+ private
9
+
10
+ def visit(o, _ = nil)
11
+ super
12
+ @block.call o
13
+ end
14
+
15
+ def unary(o)
16
+ visit o.expr
17
+ end
18
+ alias :visit_Arel_Nodes_Else :unary
19
+ alias :visit_Arel_Nodes_Group :unary
20
+ alias :visit_Arel_Nodes_Cube :unary
21
+ alias :visit_Arel_Nodes_RollUp :unary
22
+ alias :visit_Arel_Nodes_GroupingSet :unary
23
+ alias :visit_Arel_Nodes_GroupingElement :unary
24
+ alias :visit_Arel_Nodes_Grouping :unary
25
+ alias :visit_Arel_Nodes_Having :unary
26
+ alias :visit_Arel_Nodes_Lateral :unary
27
+ alias :visit_Arel_Nodes_Limit :unary
28
+ alias :visit_Arel_Nodes_Not :unary
29
+ alias :visit_Arel_Nodes_Offset :unary
30
+ alias :visit_Arel_Nodes_On :unary
31
+ alias :visit_Arel_Nodes_Ordering :unary
32
+ alias :visit_Arel_Nodes_Ascending :unary
33
+ alias :visit_Arel_Nodes_Descending :unary
34
+ alias :visit_Arel_Nodes_UnqualifiedColumn :unary
35
+ alias :visit_Arel_Nodes_OptimizerHints :unary
36
+ alias :visit_Arel_Nodes_ValuesList :unary
37
+
38
+ def function(o)
39
+ visit o.expressions
40
+ visit o.alias
41
+ visit o.distinct
42
+ end
43
+ alias :visit_Arel_Nodes_Avg :function
44
+ alias :visit_Arel_Nodes_Exists :function
45
+ alias :visit_Arel_Nodes_Max :function
46
+ alias :visit_Arel_Nodes_Min :function
47
+ alias :visit_Arel_Nodes_Sum :function
48
+
49
+ def visit_Arel_Nodes_NamedFunction(o)
50
+ visit o.name
51
+ visit o.expressions
52
+ visit o.distinct
53
+ visit o.alias
54
+ end
55
+
56
+ def visit_Arel_Nodes_Count(o)
57
+ visit o.expressions
58
+ visit o.alias
59
+ visit o.distinct
60
+ end
61
+
62
+ def visit_Arel_Nodes_Case(o)
63
+ visit o.case
64
+ visit o.conditions
65
+ visit o.default
66
+ end
67
+
68
+ def nary(o)
69
+ o.children.each { |child| visit child }
70
+ end
71
+ alias :visit_Arel_Nodes_And :nary
72
+
73
+ def binary(o)
74
+ visit o.left
75
+ visit o.right
76
+ end
77
+ alias :visit_Arel_Nodes_As :binary
78
+ alias :visit_Arel_Nodes_Assignment :binary
79
+ alias :visit_Arel_Nodes_Between :binary
80
+ alias :visit_Arel_Nodes_Concat :binary
81
+ alias :visit_Arel_Nodes_DeleteStatement :binary
82
+ alias :visit_Arel_Nodes_DoesNotMatch :binary
83
+ alias :visit_Arel_Nodes_Equality :binary
84
+ alias :visit_Arel_Nodes_FullOuterJoin :binary
85
+ alias :visit_Arel_Nodes_GreaterThan :binary
86
+ alias :visit_Arel_Nodes_GreaterThanOrEqual :binary
87
+ alias :visit_Arel_Nodes_In :binary
88
+ alias :visit_Arel_Nodes_InfixOperation :binary
89
+ alias :visit_Arel_Nodes_JoinSource :binary
90
+ alias :visit_Arel_Nodes_InnerJoin :binary
91
+ alias :visit_Arel_Nodes_LessThan :binary
92
+ alias :visit_Arel_Nodes_LessThanOrEqual :binary
93
+ alias :visit_Arel_Nodes_Matches :binary
94
+ alias :visit_Arel_Nodes_NotEqual :binary
95
+ alias :visit_Arel_Nodes_NotIn :binary
96
+ alias :visit_Arel_Nodes_NotRegexp :binary
97
+ alias :visit_Arel_Nodes_IsNotDistinctFrom :binary
98
+ alias :visit_Arel_Nodes_IsDistinctFrom :binary
99
+ alias :visit_Arel_Nodes_Or :binary
100
+ alias :visit_Arel_Nodes_OuterJoin :binary
101
+ alias :visit_Arel_Nodes_Regexp :binary
102
+ alias :visit_Arel_Nodes_RightOuterJoin :binary
103
+ alias :visit_Arel_Nodes_TableAlias :binary
104
+ alias :visit_Arel_Nodes_When :binary
105
+
106
+ def visit_Arel_Nodes_StringJoin(o)
107
+ visit o.left
108
+ end
109
+
110
+ def visit_Arel_Attribute(o)
111
+ visit o.relation
112
+ visit o.name
113
+ end
114
+ alias :visit_Arel_Attributes_Integer :visit_Arel_Attribute
115
+ alias :visit_Arel_Attributes_Float :visit_Arel_Attribute
116
+ alias :visit_Arel_Attributes_String :visit_Arel_Attribute
117
+ alias :visit_Arel_Attributes_Time :visit_Arel_Attribute
118
+ alias :visit_Arel_Attributes_Boolean :visit_Arel_Attribute
119
+ alias :visit_Arel_Attributes_Attribute :visit_Arel_Attribute
120
+ alias :visit_Arel_Attributes_Decimal :visit_Arel_Attribute
121
+
122
+ def visit_Arel_Table(o)
123
+ visit o.name
124
+ end
125
+
126
+ def terminal(o)
127
+ end
128
+ alias :visit_ActiveSupport_Multibyte_Chars :terminal
129
+ alias :visit_ActiveSupport_StringInquirer :terminal
130
+ alias :visit_Arel_Nodes_Lock :terminal
131
+ alias :visit_Arel_Nodes_Node :terminal
132
+ alias :visit_Arel_Nodes_SqlLiteral :terminal
133
+ alias :visit_Arel_Nodes_BindParam :terminal
134
+ alias :visit_Arel_Nodes_Window :terminal
135
+ alias :visit_Arel_Nodes_True :terminal
136
+ alias :visit_Arel_Nodes_False :terminal
137
+ alias :visit_BigDecimal :terminal
138
+ alias :visit_Class :terminal
139
+ alias :visit_Date :terminal
140
+ alias :visit_DateTime :terminal
141
+ alias :visit_FalseClass :terminal
142
+ alias :visit_Float :terminal
143
+ alias :visit_Integer :terminal
144
+ alias :visit_NilClass :terminal
145
+ alias :visit_String :terminal
146
+ alias :visit_Symbol :terminal
147
+ alias :visit_Time :terminal
148
+ alias :visit_TrueClass :terminal
149
+
150
+ def visit_Arel_Nodes_InsertStatement(o)
151
+ visit o.relation
152
+ visit o.columns
153
+ visit o.values
154
+ end
155
+
156
+ def visit_Arel_Nodes_SelectCore(o)
157
+ visit o.projections
158
+ visit o.source
159
+ visit o.wheres
160
+ visit o.groups
161
+ visit o.windows
162
+ visit o.havings
163
+ end
164
+
165
+ def visit_Arel_Nodes_SelectStatement(o)
166
+ visit o.cores
167
+ visit o.orders
168
+ visit o.limit
169
+ visit o.lock
170
+ visit o.offset
171
+ end
172
+
173
+ def visit_Arel_Nodes_UpdateStatement(o)
174
+ visit o.relation
175
+ visit o.values
176
+ visit o.wheres
177
+ visit o.orders
178
+ visit o.limit
179
+ end
180
+
181
+ def visit_Arel_Nodes_Comment(o)
182
+ visit o.values
183
+ end
184
+
185
+ def visit_Array(o)
186
+ o.each { |i| visit i }
187
+ end
188
+ alias :visit_Set :visit_Array
189
+
190
+ def visit_Hash(o)
191
+ o.each { |k, v| visit(k); visit(v) }
192
+ end
193
+
194
+ DISPATCH = dispatch_cache
195
+
196
+ def get_dispatch_cache
197
+ DISPATCH
198
+ end
199
+ end
200
+ end
@@ -129,6 +129,12 @@ class ActiveRecord::Associations::Association
129
129
  alias skip_statement_cache_orig skip_statement_cache?
130
130
  def skip_statement_cache?(*scope)
131
131
  return true if klass.respond_to?(:scoped_by_tenant?) && klass.scoped_by_tenant?
132
+
133
+ if reflection.through_reflection
134
+ through_klass = reflection.through_reflection.klass
135
+ return true if through_klass.respond_to?(:scoped_by_tenant?) && through_klass.scoped_by_tenant?
136
+ end
137
+
132
138
  skip_statement_cache_orig(*scope)
133
139
  end
134
140
  end
@@ -1,4 +1,5 @@
1
1
  require 'active_record'
2
+ require_relative "./arel_visitors_depth_first.rb" unless Arel::Visitors.const_defined?(:DepthFirst)
2
3
 
3
4
  module MultiTenant
4
5
  class Table
@@ -31,6 +32,7 @@ module MultiTenant
31
32
  @arel_node = arel_node
32
33
  @known_relations = []
33
34
  @handled_relations = []
35
+ @discovering = false
34
36
  end
35
37
 
36
38
  def discover_relations
@@ -54,7 +56,7 @@ module MultiTenant
54
56
  end
55
57
  end
56
58
 
57
- class ArelTenantVisitor < Arel::Visitors::DepthFirst
59
+ class ArelTenantVisitor < Arel::Visitors.const_defined?(:DepthFirst) ? Arel::Visitors::DepthFirst : ::MultiTenant::ArelVisitorsDepthFirst
58
60
  def initialize(arel)
59
61
  super(Proc.new {})
60
62
  @statement_node_id = nil
@@ -1,3 +1,3 @@
1
1
  module MultiTenant
2
- VERSION = '1.1.0'
2
+ VERSION = '1.1.1'
3
3
  end
@@ -412,7 +412,7 @@ describe MultiTenant do
412
412
  account1 = Account.create! name: 'Account 1'
413
413
  category1 = Category.create! name: 'Category 1'
414
414
 
415
- expected_sql = if uses_prepared_statements? && ActiveRecord::VERSION::MAJOR == 5
415
+ expected_sql = if uses_prepared_statements? && (ActiveRecord::VERSION::MAJOR == 5 || (ActiveRecord::VERSION::MAJOR == 6 && ActiveRecord::VERSION::MINOR >= 1))
416
416
  <<-sql
417
417
  SELECT "projects"."id" AS t0_r0, "projects"."account_id" AS t0_r1, "projects"."name" AS t0_r2, "categories"."id" AS t1_r0, "categories"."name" AS t1_r1 FROM "projects" LEFT OUTER JOIN "project_categories" ON "project_categories"."project_id" = "projects"."id" AND "project_categories"."account_id" = 1 AND "projects"."account_id" = 1 LEFT OUTER JOIN "categories" ON "categories"."id" = "project_categories"."category_id" AND "project_categories"."account_id" = 1 WHERE "projects"."account_id" = 1
418
418
  sql
@@ -451,7 +451,7 @@ describe MultiTenant do
451
451
  category1 = Category.create! name: 'Category 1'
452
452
 
453
453
  MultiTenant.with(account1) do
454
- expected_sql = if uses_prepared_statements? && ActiveRecord::VERSION::MAJOR == 5
454
+ expected_sql = if uses_prepared_statements? && (ActiveRecord::VERSION::MAJOR == 5 || (ActiveRecord::VERSION::MAJOR == 6 && ActiveRecord::VERSION::MINOR >= 1))
455
455
  <<-sql
456
456
  SELECT "tasks".* FROM "tasks" INNER JOIN "projects" ON "projects"."id" = "tasks"."project_id" AND "projects"."account_id" = 1 LEFT JOIN project_categories pc ON project.category_id = pc.id WHERE "tasks"."account_id" = 1
457
457
  sql
@@ -59,4 +59,40 @@ describe MultiTenant, 'Record finding' do
59
59
  expect(second_found).to eq(second_record)
60
60
  end
61
61
  end
62
+
63
+ context 'model with has_many relation through multi-tenant model' do
64
+ let(:tenant_1) { Account.create! name: 'Tenant 1' }
65
+ let(:project_1) { tenant_1.projects.create! }
66
+
67
+ let(:tenant_2) { Account.create! name: 'Tenant 2' }
68
+ let(:project_2) { tenant_2.projects.create! }
69
+
70
+ let(:category) { Category.create! name: 'Category' }
71
+
72
+ before do
73
+ ProjectCategory.create! account: tenant_1, name: '1', project: project_1, category: category
74
+ ProjectCategory.create! account: tenant_2, name: '2', project: project_2, category: category
75
+ end
76
+
77
+ it 'can get model without creating query cache' do
78
+ MultiTenant.with(tenant_1) do
79
+ found_category = Project.find(project_1.id).categories.to_a.first
80
+ expect(found_category).to eq(category)
81
+ end
82
+ end
83
+
84
+ it 'can get model for other tenant' do
85
+ MultiTenant.with(tenant_2) do
86
+ found_category = Project.find(project_2.id).categories.to_a.first
87
+ expect(found_category).to eq(category)
88
+ end
89
+ end
90
+
91
+ it 'can get model without current_tenant' do
92
+ MultiTenant.without do
93
+ found_category = Project.find(project_2.id).categories.to_a.first
94
+ expect(found_category).to eq(category)
95
+ end
96
+ end
97
+ end
62
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-multi-tenant
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Citus Data
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-06 00:00:00.000000000 Z
11
+ date: 2021-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: request_store
@@ -172,11 +172,16 @@ files:
172
172
  - gemfiles/active_record_5.2.gemfile.lock
173
173
  - gemfiles/active_record_6.0.gemfile
174
174
  - gemfiles/active_record_6.0.gemfile.lock
175
+ - gemfiles/active_record_6.1.gemfile
176
+ - gemfiles/active_record_6.1.gemfile.lock
175
177
  - gemfiles/rails_5.2.gemfile
176
178
  - gemfiles/rails_5.2.gemfile.lock
177
179
  - gemfiles/rails_6.0.gemfile
178
180
  - gemfiles/rails_6.0.gemfile.lock
181
+ - gemfiles/rails_6.1.gemfile
182
+ - gemfiles/rails_6.1.gemfile.lock
179
183
  - lib/activerecord-multi-tenant.rb
184
+ - lib/activerecord-multi-tenant/arel_visitors_depth_first.rb
180
185
  - lib/activerecord-multi-tenant/controller_extensions.rb
181
186
  - lib/activerecord-multi-tenant/copy_from_client.rb
182
187
  - lib/activerecord-multi-tenant/fast_truncate.rb
@@ -206,7 +211,7 @@ homepage: https://github.com/citusdata/activerecord-multi-tenant
206
211
  licenses:
207
212
  - MIT
208
213
  metadata: {}
209
- post_install_message:
214
+ post_install_message:
210
215
  rdoc_options: []
211
216
  require_paths:
212
217
  - lib
@@ -222,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
227
  version: '0'
223
228
  requirements: []
224
229
  rubygems_version: 3.1.2
225
- signing_key:
230
+ signing_key:
226
231
  specification_version: 4
227
232
  summary: ActiveRecord/Rails integration for multi-tenant databases, in particular
228
233
  the Citus extension for PostgreSQL