gorynich 1.1.0.142046

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +19 -0
  3. data/README.md +414 -0
  4. data/Rakefile +20 -0
  5. data/config/locales/en.yml +6 -0
  6. data/lib/generators/gorynich/gorynich_generator.rb +9 -0
  7. data/lib/generators/gorynich/install_generator.rb +17 -0
  8. data/lib/generators/templates/gorynich.rb +32 -0
  9. data/lib/gorynich/config.rb +241 -0
  10. data/lib/gorynich/configuration.rb +17 -0
  11. data/lib/gorynich/current.rb +13 -0
  12. data/lib/gorynich/engine.rb +11 -0
  13. data/lib/gorynich/fetcher.rb +54 -0
  14. data/lib/gorynich/fetchers/consul.rb +19 -0
  15. data/lib/gorynich/fetchers/file.rb +22 -0
  16. data/lib/gorynich/head/action_cable.rb +44 -0
  17. data/lib/gorynich/head/active_job.rb +36 -0
  18. data/lib/gorynich/head/active_record.rb +46 -0
  19. data/lib/gorynich/head/delayed_job.rb +22 -0
  20. data/lib/gorynich/head/rack_middleware.rb +34 -0
  21. data/lib/gorynich/head.rb +9 -0
  22. data/lib/gorynich/switcher.rb +48 -0
  23. data/lib/gorynich/version.rb +3 -0
  24. data/lib/gorynich.rb +137 -0
  25. data/lib/tasks/gorynich_tasks.rake +27 -0
  26. data/spec/dummy/Rakefile +6 -0
  27. data/spec/dummy/app/assets/config/manifest.js +3 -0
  28. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  29. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  30. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  31. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  32. data/spec/dummy/app/controllers/users_controller.rb +10 -0
  33. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  34. data/spec/dummy/app/javascript/packs/application.js +15 -0
  35. data/spec/dummy/app/jobs/application_job.rb +7 -0
  36. data/spec/dummy/app/jobs/test_job.rb +6 -0
  37. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  38. data/spec/dummy/app/models/application_record.rb +3 -0
  39. data/spec/dummy/app/models/user.rb +2 -0
  40. data/spec/dummy/app/views/layouts/application.html.erb +13 -0
  41. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  42. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  43. data/spec/dummy/app/views/users/index.html.erb +9 -0
  44. data/spec/dummy/bin/rails +4 -0
  45. data/spec/dummy/bin/rake +4 -0
  46. data/spec/dummy/bin/setup +33 -0
  47. data/spec/dummy/config/application.rb +34 -0
  48. data/spec/dummy/config/boot.rb +5 -0
  49. data/spec/dummy/config/cable.yml +10 -0
  50. data/spec/dummy/config/database.yml +3 -0
  51. data/spec/dummy/config/environment.rb +5 -0
  52. data/spec/dummy/config/environments/development.rb +46 -0
  53. data/spec/dummy/config/environments/production.rb +112 -0
  54. data/spec/dummy/config/environments/test.rb +49 -0
  55. data/spec/dummy/config/gorynich_config.yml +49 -0
  56. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  57. data/spec/dummy/config/initializers/assets.rb +12 -0
  58. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  59. data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
  60. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  61. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  62. data/spec/dummy/config/initializers/gorynich.rb +34 -0
  63. data/spec/dummy/config/initializers/inflections.rb +16 -0
  64. data/spec/dummy/config/initializers/middleware.rb +0 -0
  65. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  66. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  67. data/spec/dummy/config/locales/en.yml +33 -0
  68. data/spec/dummy/config/puma.rb +38 -0
  69. data/spec/dummy/config/routes.rb +5 -0
  70. data/spec/dummy/config/spring.rb +6 -0
  71. data/spec/dummy/config/storage.yml +34 -0
  72. data/spec/dummy/config.ru +5 -0
  73. data/spec/dummy/db/migrate/20220907101031_create_users.rb +8 -0
  74. data/spec/dummy/public/404.html +67 -0
  75. data/spec/dummy/public/422.html +67 -0
  76. data/spec/dummy/public/500.html +66 -0
  77. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  78. data/spec/dummy/public/apple-touch-icon.png +0 -0
  79. data/spec/dummy/public/favicon.ico +0 -0
  80. data/spec/dummy/tmp/development_secret.txt +1 -0
  81. data/spec/fixtures/env_test_database.yml +7 -0
  82. data/spec/fixtures/fetchers/consul_config.yml +1 -0
  83. data/spec/fixtures/fetchers/file_config.yml +46 -0
  84. data/spec/fixtures/fetchers/wrong_file_config.yml +44 -0
  85. data/spec/fixtures/test_database.yml +1 -0
  86. data/spec/lib/gorynich/config_spec.rb +428 -0
  87. data/spec/lib/gorynich/fetcher_spec.rb +112 -0
  88. data/spec/lib/gorynich/fetchers/consul_spec.rb +58 -0
  89. data/spec/lib/gorynich/fetchers/file_spec.rb +29 -0
  90. data/spec/lib/gorynich/version_spec.rb +6 -0
  91. data/spec/lib/gorynich_spec.rb +99 -0
  92. data/spec/rails_helper.rb +8 -0
  93. data/spec/spec_helper.rb +48 -0
  94. metadata +458 -0
@@ -0,0 +1,99 @@
1
+ RSpec.describe Gorynich do
2
+ subject(:gorynich) { described_class }
3
+ let(:default_database) { gorynich.instance.database('default').fetch('database') }
4
+
5
+ let(:tenant) { 'local1' }
6
+ let(:tenant_database) { gorynich.instance.database(tenant).fetch('database') }
7
+
8
+ def current_database
9
+ ActiveRecord::Base.connection.current_database
10
+ end
11
+
12
+ def current_tenant
13
+ gorynich::Current.tenant
14
+ end
15
+
16
+ RSpec.shared_context 'Within Tenant' do |method:|
17
+ around do |ex|
18
+ gorynich.send(method, tenant) do
19
+ ex.run
20
+ end
21
+ end
22
+ end
23
+
24
+ context '::configuration' do
25
+ it { is_expected.to have_attributes(configuration: gorynich::Configuration) }
26
+ end
27
+
28
+ context '::instance' do
29
+ it { is_expected.to have_attributes(instance: gorynich::Config) }
30
+ end
31
+
32
+ context '::switcher' do
33
+ it { is_expected.to have_attributes(switcher: gorynich::Switcher) }
34
+ end
35
+
36
+ context '::with_database' do
37
+ subject(:actual_database) { current_database }
38
+
39
+ it { is_expected.to eq default_database }
40
+
41
+ it_behaves_like 'Within Tenant', method: 'with_database' do
42
+ it do
43
+ is_expected.to eq tenant_database
44
+ end
45
+ end
46
+ end
47
+
48
+ context '::with_current' do
49
+ subject(:actual_tenant) { current_tenant }
50
+
51
+ it { is_expected.to be_nil }
52
+
53
+ it_behaves_like 'Within Tenant', method: 'with_current' do
54
+ it do
55
+ is_expected.to eq tenant
56
+ end
57
+ end
58
+ end
59
+
60
+ context '::with' do
61
+ it { expect(current_database).to eq(default_database) }
62
+ it { expect(current_tenant).to be_nil }
63
+
64
+ it_behaves_like 'Within Tenant', method: 'with' do
65
+ it do
66
+ expect(current_database).to eq(tenant_database)
67
+ end
68
+
69
+ it do
70
+ expect(current_tenant).to eq(tenant)
71
+ end
72
+ end
73
+ end
74
+
75
+ context '::with_each_tenant' do
76
+ describe 'when without except' do
77
+ it { expect(current_database).to eq(default_database) }
78
+ it { expect(current_tenant).to be_nil }
79
+
80
+ it do
81
+ gorynich.with_each_tenant do |t|
82
+ expect(gorynich.instance.tenants).to include(t.tenant)
83
+ end
84
+ end
85
+
86
+ it do
87
+ gorynich.with_each_tenant do |t|
88
+ expect(current_database).to eq(gorynich.instance.database(t.tenant).fetch('database'))
89
+ end
90
+ end
91
+
92
+ it do
93
+ gorynich.with_each_tenant do |t|
94
+ expect(current_tenant).to eq(t.tenant)
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,8 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ require File.expand_path('dummy/config/environment.rb', __dir__)
3
+ abort('The Rails environment is running in production mode!') if Rails.env.production?
4
+ require 'rspec/rails'
5
+
6
+ # это надо для програзки классов и корректного рассчёта SimpleCov. Без него мы теряем целый процент!!
7
+ Rails.application.eager_load!
8
+ require 'gorynich'
@@ -0,0 +1,48 @@
1
+ require 'rspec/retry'
2
+ require 'shoulda/matchers'
3
+ require 'simplecov'
4
+ require 'simplecov-console'
5
+ require 'simplecov-cobertura'
6
+ require 'faker'
7
+ require 'webmock/rspec'
8
+
9
+ RSPEC_ROOT = File.dirname(__FILE__)
10
+
11
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
12
+ SimpleCov::Formatter::HTMLFormatter,
13
+ SimpleCov::Formatter::Console, # for developers
14
+ SimpleCov::Formatter::CoberturaFormatter
15
+ ])
16
+ unless %w[F FALSE 0].include? ENV['COVERAGE'].to_s.upcase
17
+
18
+ SimpleCov.start do
19
+ add_filter do |source_file|
20
+ # Первой строчкой должен быть коммент "skip coverage"
21
+ source_file.src.first&.match(/skip coverage/)
22
+ end
23
+ end
24
+
25
+ if ENV['TEST_ENV_NUMBER'] # parallel specs
26
+ SimpleCov.at_exit do
27
+ result = SimpleCov.result
28
+ result.format! if ParallelTests.number_of_running_processes <= 1
29
+ end
30
+ end
31
+
32
+ end
33
+
34
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
35
+
36
+ RSpec.configure do |config|
37
+ config.verbose_retry = true
38
+ config.default_retry_count = 3
39
+ config.exceptions_to_retry = [Net::ReadTimeout]
40
+
41
+ config.mock_with :rspec do |mocks|
42
+ mocks.verify_partial_doubles = true
43
+ end
44
+
45
+ config.expect_with :rspec do |expectations|
46
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
47
+ end
48
+ end
metadata ADDED
@@ -0,0 +1,458 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gorynich
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0.142046
5
+ platform: ruby
6
+ authors:
7
+ - Poliev Alexey
8
+ - Samoilenko Yuri
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2023-05-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: diplomat
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '2'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rails
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '6.1'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '6.1'
42
+ - !ruby/object:Gem::Dependency
43
+ name: factory_bot_rails
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: faker
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: pg
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: racc
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec-collection_matchers
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rspec_junit_formatter
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rspec-rails
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: rspec-retry
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rspec-set
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: shoulda-callback-matchers
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: shoulda-matchers
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ - !ruby/object:Gem::Dependency
197
+ name: simplecov
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: simplecov-cobertura
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ - !ruby/object:Gem::Dependency
225
+ name: simplecov-console
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: tzinfo-data
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ type: :development
246
+ prerelease: false
247
+ version_requirements: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: '0'
252
+ - !ruby/object:Gem::Dependency
253
+ name: webmock
254
+ requirement: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ type: :development
260
+ prerelease: false
261
+ version_requirements: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ description: Multitenancy for Rails including ActiveRecord, ActionCable, ActiveJob
267
+ and other subsystems
268
+ email:
269
+ - apoliev@rnds.pro
270
+ - kinnalru@gmail.com
271
+ executables: []
272
+ extensions: []
273
+ extra_rdoc_files: []
274
+ files:
275
+ - LICENSE
276
+ - README.md
277
+ - Rakefile
278
+ - config/locales/en.yml
279
+ - lib/generators/gorynich/gorynich_generator.rb
280
+ - lib/generators/gorynich/install_generator.rb
281
+ - lib/generators/templates/gorynich.rb
282
+ - lib/gorynich.rb
283
+ - lib/gorynich/config.rb
284
+ - lib/gorynich/configuration.rb
285
+ - lib/gorynich/current.rb
286
+ - lib/gorynich/engine.rb
287
+ - lib/gorynich/fetcher.rb
288
+ - lib/gorynich/fetchers/consul.rb
289
+ - lib/gorynich/fetchers/file.rb
290
+ - lib/gorynich/head.rb
291
+ - lib/gorynich/head/action_cable.rb
292
+ - lib/gorynich/head/active_job.rb
293
+ - lib/gorynich/head/active_record.rb
294
+ - lib/gorynich/head/delayed_job.rb
295
+ - lib/gorynich/head/rack_middleware.rb
296
+ - lib/gorynich/switcher.rb
297
+ - lib/gorynich/version.rb
298
+ - lib/tasks/gorynich_tasks.rake
299
+ - spec/dummy/Rakefile
300
+ - spec/dummy/app/assets/config/manifest.js
301
+ - spec/dummy/app/assets/stylesheets/application.css
302
+ - spec/dummy/app/channels/application_cable/channel.rb
303
+ - spec/dummy/app/channels/application_cable/connection.rb
304
+ - spec/dummy/app/controllers/application_controller.rb
305
+ - spec/dummy/app/controllers/users_controller.rb
306
+ - spec/dummy/app/helpers/application_helper.rb
307
+ - spec/dummy/app/javascript/packs/application.js
308
+ - spec/dummy/app/jobs/application_job.rb
309
+ - spec/dummy/app/jobs/test_job.rb
310
+ - spec/dummy/app/mailers/application_mailer.rb
311
+ - spec/dummy/app/models/application_record.rb
312
+ - spec/dummy/app/models/user.rb
313
+ - spec/dummy/app/views/layouts/application.html.erb
314
+ - spec/dummy/app/views/layouts/mailer.html.erb
315
+ - spec/dummy/app/views/layouts/mailer.text.erb
316
+ - spec/dummy/app/views/users/index.html.erb
317
+ - spec/dummy/bin/rails
318
+ - spec/dummy/bin/rake
319
+ - spec/dummy/bin/setup
320
+ - spec/dummy/config.ru
321
+ - spec/dummy/config/application.rb
322
+ - spec/dummy/config/boot.rb
323
+ - spec/dummy/config/cable.yml
324
+ - spec/dummy/config/database.yml
325
+ - spec/dummy/config/environment.rb
326
+ - spec/dummy/config/environments/development.rb
327
+ - spec/dummy/config/environments/production.rb
328
+ - spec/dummy/config/environments/test.rb
329
+ - spec/dummy/config/gorynich_config.yml
330
+ - spec/dummy/config/initializers/application_controller_renderer.rb
331
+ - spec/dummy/config/initializers/assets.rb
332
+ - spec/dummy/config/initializers/backtrace_silencers.rb
333
+ - spec/dummy/config/initializers/content_security_policy.rb
334
+ - spec/dummy/config/initializers/cookies_serializer.rb
335
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
336
+ - spec/dummy/config/initializers/gorynich.rb
337
+ - spec/dummy/config/initializers/inflections.rb
338
+ - spec/dummy/config/initializers/middleware.rb
339
+ - spec/dummy/config/initializers/mime_types.rb
340
+ - spec/dummy/config/initializers/wrap_parameters.rb
341
+ - spec/dummy/config/locales/en.yml
342
+ - spec/dummy/config/puma.rb
343
+ - spec/dummy/config/routes.rb
344
+ - spec/dummy/config/spring.rb
345
+ - spec/dummy/config/storage.yml
346
+ - spec/dummy/db/migrate/20220907101031_create_users.rb
347
+ - spec/dummy/public/404.html
348
+ - spec/dummy/public/422.html
349
+ - spec/dummy/public/500.html
350
+ - spec/dummy/public/apple-touch-icon-precomposed.png
351
+ - spec/dummy/public/apple-touch-icon.png
352
+ - spec/dummy/public/favicon.ico
353
+ - spec/dummy/tmp/development_secret.txt
354
+ - spec/fixtures/env_test_database.yml
355
+ - spec/fixtures/fetchers/consul_config.yml
356
+ - spec/fixtures/fetchers/file_config.yml
357
+ - spec/fixtures/fetchers/wrong_file_config.yml
358
+ - spec/fixtures/test_database.yml
359
+ - spec/lib/gorynich/config_spec.rb
360
+ - spec/lib/gorynich/fetcher_spec.rb
361
+ - spec/lib/gorynich/fetchers/consul_spec.rb
362
+ - spec/lib/gorynich/fetchers/file_spec.rb
363
+ - spec/lib/gorynich/version_spec.rb
364
+ - spec/lib/gorynich_spec.rb
365
+ - spec/rails_helper.rb
366
+ - spec/spec_helper.rb
367
+ homepage: https://br.rnds.pro/ruby/gorynich
368
+ licenses:
369
+ - MIT
370
+ metadata: {}
371
+ post_install_message:
372
+ rdoc_options: []
373
+ require_paths:
374
+ - lib
375
+ required_ruby_version: !ruby/object:Gem::Requirement
376
+ requirements:
377
+ - - ">="
378
+ - !ruby/object:Gem::Version
379
+ version: '0'
380
+ required_rubygems_version: !ruby/object:Gem::Requirement
381
+ requirements:
382
+ - - ">="
383
+ - !ruby/object:Gem::Version
384
+ version: '0'
385
+ requirements: []
386
+ rubygems_version: 3.4.10
387
+ signing_key:
388
+ specification_version: 4
389
+ summary: Multitenancy for Rails and subsystems
390
+ test_files:
391
+ - spec/dummy/Rakefile
392
+ - spec/dummy/app/assets/config/manifest.js
393
+ - spec/dummy/app/assets/stylesheets/application.css
394
+ - spec/dummy/app/channels/application_cable/channel.rb
395
+ - spec/dummy/app/channels/application_cable/connection.rb
396
+ - spec/dummy/app/controllers/application_controller.rb
397
+ - spec/dummy/app/controllers/users_controller.rb
398
+ - spec/dummy/app/helpers/application_helper.rb
399
+ - spec/dummy/app/javascript/packs/application.js
400
+ - spec/dummy/app/jobs/application_job.rb
401
+ - spec/dummy/app/jobs/test_job.rb
402
+ - spec/dummy/app/mailers/application_mailer.rb
403
+ - spec/dummy/app/models/application_record.rb
404
+ - spec/dummy/app/models/user.rb
405
+ - spec/dummy/app/views/layouts/application.html.erb
406
+ - spec/dummy/app/views/layouts/mailer.html.erb
407
+ - spec/dummy/app/views/layouts/mailer.text.erb
408
+ - spec/dummy/app/views/users/index.html.erb
409
+ - spec/dummy/bin/rails
410
+ - spec/dummy/bin/rake
411
+ - spec/dummy/bin/setup
412
+ - spec/dummy/config/application.rb
413
+ - spec/dummy/config/boot.rb
414
+ - spec/dummy/config/cable.yml
415
+ - spec/dummy/config/database.yml
416
+ - spec/dummy/config/environment.rb
417
+ - spec/dummy/config/environments/development.rb
418
+ - spec/dummy/config/environments/production.rb
419
+ - spec/dummy/config/environments/test.rb
420
+ - spec/dummy/config/gorynich_config.yml
421
+ - spec/dummy/config/initializers/application_controller_renderer.rb
422
+ - spec/dummy/config/initializers/assets.rb
423
+ - spec/dummy/config/initializers/backtrace_silencers.rb
424
+ - spec/dummy/config/initializers/content_security_policy.rb
425
+ - spec/dummy/config/initializers/cookies_serializer.rb
426
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
427
+ - spec/dummy/config/initializers/gorynich.rb
428
+ - spec/dummy/config/initializers/inflections.rb
429
+ - spec/dummy/config/initializers/middleware.rb
430
+ - spec/dummy/config/initializers/mime_types.rb
431
+ - spec/dummy/config/initializers/wrap_parameters.rb
432
+ - spec/dummy/config/locales/en.yml
433
+ - spec/dummy/config/puma.rb
434
+ - spec/dummy/config/routes.rb
435
+ - spec/dummy/config/spring.rb
436
+ - spec/dummy/config/storage.yml
437
+ - spec/dummy/config.ru
438
+ - spec/dummy/db/migrate/20220907101031_create_users.rb
439
+ - spec/dummy/public/404.html
440
+ - spec/dummy/public/422.html
441
+ - spec/dummy/public/500.html
442
+ - spec/dummy/public/apple-touch-icon-precomposed.png
443
+ - spec/dummy/public/apple-touch-icon.png
444
+ - spec/dummy/public/favicon.ico
445
+ - spec/dummy/tmp/development_secret.txt
446
+ - spec/fixtures/env_test_database.yml
447
+ - spec/fixtures/fetchers/consul_config.yml
448
+ - spec/fixtures/fetchers/file_config.yml
449
+ - spec/fixtures/fetchers/wrong_file_config.yml
450
+ - spec/fixtures/test_database.yml
451
+ - spec/lib/gorynich/config_spec.rb
452
+ - spec/lib/gorynich/fetcher_spec.rb
453
+ - spec/lib/gorynich/fetchers/consul_spec.rb
454
+ - spec/lib/gorynich/fetchers/file_spec.rb
455
+ - spec/lib/gorynich/version_spec.rb
456
+ - spec/lib/gorynich_spec.rb
457
+ - spec/rails_helper.rb
458
+ - spec/spec_helper.rb