gorynich 1.1.0.142046 → 1.1.0.142136

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -14
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1d0c21b8e0cbfde7c435ee42f9a3a7a4c25cf73579c715ecb8b8854ccb2b73c
4
- data.tar.gz: 24c73120bd544cea50228a905f002f54bcbf240a155391a4d6cca3df1adefd8d
3
+ metadata.gz: ea478dfe8db1b6a076f7d6a644daaca8548184ec23f09a3d741f6af8ebcfb3e3
4
+ data.tar.gz: 785d8557531806da8cd9752258568b0c9825fbbf5816b055729af974b7d2586a
5
5
  SHA512:
6
- metadata.gz: 765d8a73f9c06784e280f54e4c8b760a0f6d66fd0c9536c202a7db5faaeecc04b262368e21aa8653b349c5b8b922fc1985bab49506eccdb81beb6b3041838b59
7
- data.tar.gz: c2fab106eb7faf514fc441fccf56f38d940f4261cf445e5dfd870259ba8a372ec8aa718a2a81052090269483155ff6ee6c20087afeff94e2eee2e4754d26adc4
6
+ metadata.gz: a755a9cafbc3f487d076a761a42800e25216a72a63a5ba610604126a7530c8092adfad6db6da64e2bb314619469a18d86c198bbdfb23d291be3f5395f7579f55
7
+ data.tar.gz: 6f30b45a2c47a0ba926d45940e4f6a6c1c22bf23cf8e8ebe3208324ae8c1cc111c5804b53cd422f3700538f4a8465d44116ab4f52a2bfe2cc352794506b045c2
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
 
@@ -32,7 +32,7 @@ Since a multi-tenant application is closely related to the separation of data, w
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.142136
5
5
  platform: ruby
6
6
  authors:
7
7
  - Poliev Alexey