docs/publishing.md in table_sync-5.0.0 vs docs/publishing.md in table_sync-5.1.0

- old
+ new

@@ -39,11 +39,11 @@ Example: ```ruby class TableSync::Job < ActiveJob::Base def perform(*args) - TableSync::Publisher.new(*args).publish_now + TableSync::Publishing::Publisher.new(*args).publish_now end end ``` - `TableSync.batch_publishing_job_class_callable` is a callable which should resolve to a ActiveJob subclass that calls TableSync batch publisher back to actually publish changes (required for batch publisher) @@ -68,20 +68,20 @@ - `TableSync.notifier` is a module that provides publish and recieve notifications. # Manual publishing -`TableSync::Publisher.new(object_class, original_attributes, confirm: true, state: :updated, debounce_time: 45)` +`TableSync::Publishing::Publisher.new(object_class, original_attributes, confirm: true, state: :updated, debounce_time: 45)` where state is one of `:created / :updated / :destroyed` and `confirm` is Rabbit's confirm delivery flag and optional param `debounce_time` determines debounce time in seconds, 1 minute by default. # Manual publishing with batches -You can use `TableSync::BatchPublisher` to publish changes in batches (array of hashes in `attributes`). +You can use `TableSync::Publishing::BatchPublisher` to publish changes in batches (array of hashes in `attributes`). -When using `TableSync::BatchPublisher`,` TableSync.routing_key_callable` is called as follows: `TableSync.routing_key_callable.call(klass, {})`, i.e. empty hash is passed instead of attributes. And `TableSync.routing_metadata_callable` is not called at all: metadata is set to empty hash. +When using `TableSync::Publishing::BatchPublisher`,` TableSync.routing_key_callable` is called as follows: `TableSync.routing_key_callable.call(klass, {})`, i.e. empty hash is passed instead of attributes. And `TableSync.routing_metadata_callable` is not called at all: metadata is set to empty hash. -`TableSync::BatchPublisher.new(object_class, original_attributes_array, **options)`, where `original_attributes_array` is an array with hash of attributes of published objects and `options` is a hash of options. +`TableSync::Publishing::BatchPublisher.new(object_class, original_attributes_array, **options)`, where `original_attributes_array` is an array with hash of attributes of published objects and `options` is a hash of options. `options` consists of: - `confirm`, which is a flag for RabbitMQ, `true` by default - `routing_key`, which is a custom key used (if given) to override one from `TableSync.routing_key_callable`, `nil` by default - `push_original_attributes` (default value is `false`), if this option is set to `true`, @@ -90,11 +90,11 @@ - `event`, which is an option for event specification (`:destroy` or `:update`), `:update` by default Example: ```ruby -TableSync::BatchPublisher.new( +TableSync::Publishing::BatchPublisher.new( "SomeClass", [{ id: 1 }, { id: 2 }], confirm: false, routing_key: "custom_routing_key", push_original_attributes: true, @@ -103,15 +103,15 @@ ) ``` # Manual publishing with batches (Russian) -С помощью класса `TableSync::BatchPublisher` вы можете опубликовать изменения батчами (массивом в `attributes`). +С помощью класса `TableSync::Publishing::BatchPublisher` вы можете опубликовать изменения батчами (массивом в `attributes`). -При использовании `TableSync::BatchPublisher`, `TableSync.routing_key_callable` вызывается следующим образом: `TableSync.routing_key_callable.call(klass, {})`, то есть вместо аттрибутов передается пустой хэш. А `TableSync.routing_metadata_callable` не вызывается вовсе: в метадате устанавливается пустой хэш. +При использовании `TableSync::Publishing::BatchPublisher`, `TableSync.routing_key_callable` вызывается следующим образом: `TableSync.routing_key_callable.call(klass, {})`, то есть вместо аттрибутов передается пустой хэш. А `TableSync.routing_metadata_callable` не вызывается вовсе: в метадате устанавливается пустой хэш. -`TableSync::BatchPublisher.new(object_class, original_attributes_array, **options)`, где `original_attributes_array` - массив с аттрибутами публикуемых объектов и `options`- это хэш с дополнительными опциями. +`TableSync::Publishing::BatchPublisher.new(object_class, original_attributes_array, **options)`, где `original_attributes_array` - массив с аттрибутами публикуемых объектов и `options`- это хэш с дополнительными опциями. `options` состоит из: - `confirm`, флаг для RabbitMQ, по умолчанию - `true` - `routing_key`, ключ, который (если указан) замещает ключ, получаемый из `TableSync.routing_key_callable`, по умолчанию - `nil` - `push_original_attributes` (значение по умолчанию `false`), если для этой опции задано значение true, в Rabbit будут отправлены original_attributes_array, вместо получения значений записей из базы непосредственно перед отправкой. @@ -119,10 +119,10 @@ - `event`, опция для указания типа события (`:destroy` или `:update`), `:update` по умолчанию Example: ```ruby -TableSync::BatchPublisher.new( +TableSync::Publishing::BatchPublisher.new( "SomeClass", [{ id: 1 }, { id: 2 }], confirm: false, routing_key: "custom_routing_key", push_original_attributes: true,