gorynich 1.1.0.142046 → 1.1.0.142139

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -15
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1d0c21b8e0cbfde7c435ee42f9a3a7a4c25cf73579c715ecb8b8854ccb2b73c
4
- data.tar.gz: 24c73120bd544cea50228a905f002f54bcbf240a155391a4d6cca3df1adefd8d
3
+ metadata.gz: aee7ffe7b4db3dde88e3f9a030c1b20aa62852c2a08c99493c08f32471e9a4b1
4
+ data.tar.gz: 1578af4b7190c906f81119e9cb5c578b35a242778ad629f6d85d986e3fd28966
5
5
  SHA512:
6
- metadata.gz: 765d8a73f9c06784e280f54e4c8b760a0f6d66fd0c9536c202a7db5faaeecc04b262368e21aa8653b349c5b8b922fc1985bab49506eccdb81beb6b3041838b59
7
- data.tar.gz: c2fab106eb7faf514fc441fccf56f38d940f4261cf445e5dfd870259ba8a372ec8aa718a2a81052090269483155ff6ee6c20087afeff94e2eee2e4754d26adc4
6
+ metadata.gz: 15d3067e236561b87930de7b4f0865129e1dea0d7a576bb461fc84a924d138760050edc823e75108859edd6087bb56834ae4574c7934440f05573849c5c1cfea
7
+ data.tar.gz: 595cff64c46bf9c29d7384b9a52bab40e2b41e4bb57d3a190437993b6cbeb4a07df567452a0d1d6e96f4a3bb2f4127c30ddc5a8d2111705acc92586a7ed8f3f7
data/README.md CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  </div>
16
16
 
17
- `Gorynich` это гем для реализации [мультитенантности](https://ru.wikipedia.org/wiki/Мультиарендность) (мультиарендности) в Ruby on Rails приложении. Позволяет обеспечить строгую изоляцию данных в нескольких СУБД, поддерживаемых в ActiveRecord.
17
+ `Gorynich` - это гем для реализации [мультитенантности](https://ru.wikipedia.org/wiki/Мультиарендность) (мультиарендности) в Ruby on Rails приложении. Позволяет обеспечить строгую изоляцию данных в нескольких СУБД, поддерживаемых в ActiveRecord.
18
18
 
19
- Поскольку мультитенантное приложение тесно связано с разделение данных, которые в совю очередь могут находиться в разных источниках (СУБД, S3, Redis и пр), а также с их обработкой в разных подсистемах (ActiveJob, ActionCable), мы выбрали название ["Горыныч"](https://ru.wikipedia.org/wiki/Змей_Горыныч), что бы подчеркнуть ~многоголовость~ многогранность интеграций.
19
+ Поскольку мультитенантное приложение тесно связано с разделением данных, которые в свою очередь могут находиться в разных источниках (СУБД, S3, Redis и пр.), а также с их обработкой в разных подсистемах (ActiveJob, ActionCable), мы выбрали название ["Горыныч"](https://ru.wikipedia.org/wiki/Змей_Горыныч), чтобы подчеркнуть ~многоголовость~ многогранность интеграций.
20
20
 
21
21
  ---
22
22
 
@@ -26,13 +26,13 @@ Since a multi-tenant application is closely related to the separation of data, w
26
26
 
27
27
  <div align="left">
28
28
  <a href="https://rnds.pro/" >
29
- <img src="https://library.rnds.pro/repository/public-blob/logo/RNDS.svg" alt="Supported by RNDSOFT" height="35">
29
+ <img src="https://library.rnds.pro/repository/public-blob/logo/RNDS.svg" alt="Supported by RNDSOFT" height="60">
30
30
  </a>
31
31
  </div>
32
32
 
33
33
  ## Возможности / Features
34
34
 
35
- - Прозрачное переключение БД/СУБД на основании данных запросы / Transparent request based DB/DBMS switching
35
+ - Прозрачное переключение БД/СУБД на основании данных запросов / Transparent request based DB/DBMS switching
36
36
  - Интеграция с / Integrations:
37
37
  - ActiveRecord
38
38
  - ActionCable
@@ -61,7 +61,7 @@ If you'd rather install `Gorynichr` using bundler, add a line for it in your `Ge
61
61
  gem 'gorynich'
62
62
  ```
63
63
 
64
- Затем выполнить / Then run:
64
+ Затем выполните / Then run:
65
65
 
66
66
  ```sh
67
67
  bundle install # для установки гема / gem installation
@@ -71,7 +71,7 @@ rails generate gorynich:install # для добавления шаблонов
71
71
 
72
72
  ## Что такое тенант? / What tenant is?
73
73
 
74
- Тенант в данном случае это активное подключение к СУБД, а также доступный в любом месте объект `Gorynich::Current`, в котором находятся параметры текущего тенанта. К нему можно обратиться в любом месте.
74
+ Тенант (в данном случае) - это активное подключение к СУБД, а также доступный в любом месте объект `Gorynich::Current`, в котором находятся параметры текущего тенанта. К нему можно обратиться в любом месте.
75
75
 
76
76
  ---
77
77
 
@@ -92,7 +92,7 @@ end
92
92
 
93
93
  Перед обработкой запроса с помощью [Gorynich::Rack::RackMiddleware](./lib/gorynich/head/rack_middleware.rb) соединение Active Record переключается на указанную БД, а с помощью [ActiveSupport::CurrentAttributes](https://api.rubyonrails.org/classes/ActiveSupport/CurrentAttributes.html) в любом месте приложения становятся доступны дополнительные параметры через обращение к `Gorynich::Current`. ActionCable, ActiveJob и другие "головы" используют настройки из `Gorynich::Current` для сохранения контекста и дальнейшего исполнения.
94
94
 
95
- Например при отправке писем изнутри ActiveJob, использование выглядит так:
95
+ Например, при отправке писем изнутри ActiveJob использование выглядит так:
96
96
 
97
97
  ---
98
98
 
@@ -212,7 +212,7 @@ end
212
212
  TENANT=tenant rails gc # default tenant name id 'default'
213
213
  ```
214
214
 
215
- Для создания статичного файла `database.yml` из источника данных (Fetcher), используйте:
215
+ Для создания статичного файла `database.yml` из источника данных (Fetcher) используйте:
216
216
 
217
217
  ---
218
218
 
@@ -240,7 +240,7 @@ rails gc:db:prepare
240
240
 
241
241
  2. Полуавтоматический режим / Semi-automated mode
242
242
 
243
- Второй вариант это создание конфигурации `database.yml` при старте Rails приложения - данные буду прочитаны из настроенного источника. В этом случае конфигурация СУБД может изменяться только при перезапуске приложения, но остальные настройки, такие как привязка тенантов к доменам и secrets будут подхватываться "на лету" непосредственно во время работы приложения. Rake-задачи `db:create`, `db:migrate` работают для всех тенантов на момент запуска.
243
+ Второй вариант - это создание конфигурации `database.yml` при старте Rails приложения - данные будут прочитаны из настроенного источника. В этом случае конфигурация СУБД может изменяться только при перезапуске приложения, но остальные настройки, такие как привязка тенантов к доменам и secrets, будут подхватываться "на лету" непосредственно во время работы приложения. Rake-задачи `db:create`, `db:migrate` работают для всех тенантов на момент запуска.
244
244
 
245
245
  ---
246
246
 
@@ -257,9 +257,9 @@ Second option is dynamic `database.yml` creation while starting Rails applicatio
257
257
  <%= Gorynich.instance.database_config %>
258
258
  ```
259
259
 
260
- 3. Дополнительные БД / Additional datbases
260
+ 3. Дополнительные БД / Additional databases
261
261
 
262
- Если вам нужны дополнительные БД, не являющиеся тенантами, например, общая БД, то в `database.yml` можно дописать всё необходимое как в обычном Rails приложении:
262
+ Если вам нужны дополнительные БД, не являющиеся тенантами, например общая БД, то в `database.yml` можно дописать всё необходимое, как в обычном Rails приложении:
263
263
 
264
264
  ---
265
265
 
@@ -282,13 +282,13 @@ your_database:
282
282
  ```
283
283
 
284
284
  ### В коде / Inside code
285
- Проверить в каком вы тенанте можно с помощью / Check in which tenant you are:
285
+ Проверить, в каком вы тенанте, можно с помощью / Check in which tenant you are:
286
286
 
287
287
  ```ruby
288
288
  Gorynich::Current.tenant
289
289
  ```
290
290
 
291
- Переключение тенантов работает автоматичеки и внутри Rails приложения не нужно предпринимать никаких дополнительных действий - вы всегда подключены к той базе данных к которой привязан домен текущего запроса (или иной параметр). Но если необходимо явно выполнить действия в контексте конкретного тената это можно сделать:
291
+ Переключение тенантов работает автоматически, и внутри Rails приложения не нужно предпринимать никаких дополнительных действий - вы всегда подключены к той базе данных, к которой привязан домен текущего запроса (или иной параметр). Но если необходимо явно выполнить действия в контексте конкретного тената, это можно сделать:
292
292
 
293
293
  ---
294
294
 
@@ -306,7 +306,7 @@ Switching tenants is automatic and no additional steps need to be taken inside a
306
306
  end
307
307
  ```
308
308
 
309
- ## Примеры дополнительных интеграций и использвоаний / Additional integration examples
309
+ ## Примеры дополнительных интеграций и использований / Additional integration examples
310
310
 
311
311
  ### Redis / Rails.cache
312
312
 
@@ -386,7 +386,7 @@ class ApplicationController < ActionController::Base
386
386
  def around_action_notification(&block)
387
387
  ActiveSupport::Notifications.instrument(
388
388
  'around_action.action_controller',
389
- current_user: original_user,
389
+ current_user: current_user,
390
390
  request: request,
391
391
  tenant: Gorynich::Current.tenant, &block
392
392
  )
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.1.0.142046
4
+ version: 1.1.0.142139
5
5
  platform: ruby
6
6
  authors:
7
7
  - Poliev Alexey
@@ -364,7 +364,7 @@ files:
364
364
  - spec/lib/gorynich_spec.rb
365
365
  - spec/rails_helper.rb
366
366
  - spec/spec_helper.rb
367
- homepage: https://br.rnds.pro/ruby/gorynich
367
+ homepage: https://github.com/RND-SOFT/gorynich
368
368
  licenses:
369
369
  - MIT
370
370
  metadata: {}