gorynich 1.3.1.213701 → 1.3.3.231946

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: b6944787fa4c53d57576e3b97174172fa72f574f0edbecc6d46050d95931ece0
4
- data.tar.gz: bf6c3303108da3e602ac6c8c88bbc4bbd7c3798d604dfd19e497fef3bafd15dc
3
+ metadata.gz: c580367795e9f7b4337327a151bb380c0beb210126b4c3382f9cd9179b517b6f
4
+ data.tar.gz: 072e6a4cdf3f7948c7861ca53d5c94075d451302ad837acbfdea90dcbc6d4a26
5
5
  SHA512:
6
- metadata.gz: b54228e2022034e17aa3ed999867a6b46e9d067bdfc72197db207e590b962b6c8a8be942398fde80ca9c947f884edd76dfef265e0ae522143f0660bb8e88fb03
7
- data.tar.gz: 4910edf74f309b7a9696a79fbc5d9c51dc4358d74b2c44254a31ffd02c265e8a57c12dd76a2696246510b6eabbbe9422fbd6fa4ce85f1e7ca04c456bc210c460
6
+ metadata.gz: b5a314c932a44623e787e77858e247127e7f437bd77f1d0888767579c63c6908467f7baafcafc03c8d82476ea0131ecd59713207e71920b6a6a2522af8ae2878
7
+ data.tar.gz: 42332bba266151eda388aa3dea13904806721d29b9d9e3f4a1e295ec23f5b62e16def75dacf5151fafbf78eb95c7d2ab779a61ae089b0b7dac2eb2e903de1303
@@ -126,13 +126,17 @@ module Gorynich
126
126
 
127
127
  #
128
128
  # Database config for database.yml
129
+ # If used <%= Gorynich.instance.database_config(your_enviroment) %> without gorynich config it will raise an error.
130
+ # You can use <%= Gorynich.instance.database_config(your_enviroment, fail_ignore: true) %> if there is no configuration for the environment
131
+ # and dummy_value depending on whether you have a configuration in the database.yml under this environment (dummy_value: nil when there is and dummy_value: {} if there is not. Default dummy_value is nil)
129
132
  #
130
133
  # @param [String] env enviroment
131
- # @param [Boolean] with_ignore ignore if there is no configuration for the environment
134
+ # @param [Boolean] fail_ignore ignore if there is no configuration for the environment
135
+ # @param [nil or Hash] dummy_value value for YAML if there is no config.
132
136
  #
133
137
  # @return [String] yaml result
134
138
  #
135
- def database_config(env = nil, fail_ignore: false)
139
+ def database_config(env = nil, fail_ignore: false, dummy_value: nil)
136
140
  envs = Dir.glob(Rails.root.join('config/environments/*.rb').to_s).map { |f| File.basename(f, '.rb') }
137
141
  cfg = fetcher.fetch.extract!(*envs)
138
142
 
@@ -145,8 +149,8 @@ module Gorynich
145
149
  ]
146
150
  end
147
151
  else
148
- if fail_ignore && cfg.fetch(env, nil).nil?
149
- { env => nil}
152
+ if fail_ignore && cfg[env].nil?
153
+ { env => dummy_value }
150
154
  else
151
155
  {
152
156
  env => configs_sort(cfg.fetch(env)).to_h { |t, c| [t, c.fetch('db_config')] }
@@ -1,5 +1,14 @@
1
1
  module Gorynich
2
2
  class Configuration
3
+ #
4
+ # Cache dummy
5
+ #
6
+ class NullStore
7
+ def fetch(*args, **kwargs, &block)
8
+ block.call
9
+ end
10
+ end
11
+
3
12
  attr_accessor :cache,
4
13
  :fetcher,
5
14
  :namespace,
@@ -7,7 +16,7 @@ module Gorynich
7
16
  :rack_env_handler
8
17
 
9
18
  def initialize
10
- @cache = ActiveSupport::Cache::NullStore.new
19
+ @cache = NullStore.new
11
20
  @fetcher = nil
12
21
  @namespace = nil
13
22
  @cache_expiration = 30
@@ -1,3 +1,3 @@
1
1
  module Gorynich
2
- VERSION = '1.3.1'
2
+ VERSION = '1.3.3'
3
3
  end
@@ -1,4 +1,8 @@
1
1
  RSpec.describe Gorynich::Fetcher do
2
+ before(:each) do
3
+ Gorynich.configuration.cache = ActiveSupport::Cache::NullStore.new
4
+ end
5
+
2
6
  let(:file_path) { "#{RSPEC_ROOT}/fixtures/fetchers/file_config.yml" }
3
7
  let(:consul_storage) { Faker::Lorem.word }
4
8
  let(:consul_host) { Faker::Internet.url }
@@ -105,8 +109,9 @@ RSpec.describe Gorynich::Fetcher do
105
109
  subject { described_class.new(fetcher: fetcher) }
106
110
 
107
111
  it do
108
- expect(subject.fetch).to include('development', 'test')
109
- expect(Gorynich.configuration.cache.exist?(%i[gorynich fetcher fetch])).to be(true)
112
+ allow(Gorynich.configuration.cache).to receive(:fetch).and_return({test: true})
113
+ expect(Gorynich.configuration.cache).to receive(:fetch)
114
+ subject.fetch
110
115
  end
111
116
  end
112
117
 
@@ -116,11 +121,9 @@ RSpec.describe Gorynich::Fetcher do
116
121
  subject { described_class.new(fetcher: fetcher) }
117
122
 
118
123
  it do
119
- subject.fetch
120
- expect(Gorynich.configuration.cache.exist?(%i[gorynich fetcher fetch])).to be(true)
124
+ expect(Gorynich.configuration.cache).to receive(:delete)
121
125
 
122
126
  subject.reset
123
- expect(Gorynich.configuration.cache.exist?(%i[gorynich fetcher fetch])).to be(false)
124
127
  end
125
128
  end
126
129
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gorynich
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1.213701
4
+ version: 1.3.3.231946
5
5
  platform: ruby
6
6
  authors:
7
7
  - Poliev Alexey
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-02-22 00:00:00.000000000 Z
12
+ date: 2024-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: diplomat
@@ -26,7 +26,7 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '2'
28
28
  - !ruby/object:Gem::Dependency
29
- name: rails
29
+ name: railties
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
@@ -39,230 +39,6 @@ dependencies:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
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
42
  description: Multitenancy for Rails including ActiveRecord, ActionCable, ActiveJob
267
43
  and other subsystems
268
44
  email:
@@ -387,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
387
163
  - !ruby/object:Gem::Version
388
164
  version: '0'
389
165
  requirements: []
390
- rubygems_version: 3.5.3
166
+ rubygems_version: 3.5.9
391
167
  signing_key:
392
168
  specification_version: 4
393
169
  summary: Multitenancy for Rails and subsystems