lib/table_sync.rb in table_sync-5.1.0 vs lib/table_sync.rb in table_sync-6.0

- old
+ new

@@ -6,42 +6,65 @@ require "rabbit/event_handler" # NOTE: from rabbit_messaging" require "active_support/core_ext/object/blank" require "active_support/core_ext/numeric/time" module TableSync + require_relative "table_sync/event" require_relative "table_sync/utils" require_relative "table_sync/version" require_relative "table_sync/errors" + require_relative "table_sync/instrument" require_relative "table_sync/instrument_adapter/active_support" + require_relative "table_sync/naming_resolver/active_record" require_relative "table_sync/naming_resolver/sequel" + + require_relative "table_sync/orm_adapter/base" + require_relative "table_sync/orm_adapter/active_record" + require_relative "table_sync/orm_adapter/sequel" + require_relative "table_sync/receiving" require_relative "table_sync/publishing" + require_relative "table_sync/setup/base" + require_relative "table_sync/setup/active_record" + require_relative "table_sync/setup/sequel" + class << self - attr_accessor :publishing_job_class_callable + attr_accessor :raise_on_empty_message + attr_accessor :single_publishing_job_class_callable attr_accessor :batch_publishing_job_class_callable attr_accessor :routing_key_callable attr_accessor :exchange_name - attr_accessor :routing_metadata_callable + attr_accessor :headers_callable attr_accessor :notifier + attr_reader :orm attr_reader :publishing_adapter attr_reader :receiving_model + attr_reader :setup - def sync(klass, **opts) - publishing_adapter.setup_sync(klass, opts) + def sync(object_class, **options) + setup.new( + object_class: object_class, + on: options[:on], + if_condition: options[:if], + unless_condition: options[:unless], + debounce_time: options[:debounce_time], + ).register_callbacks end def orm=(val) case val when :active_record - @publishing_adapter = Publishing::ORMAdapter::ActiveRecord - @receiving_model = Receiving::Model::ActiveRecord + @publishing_adapter = TableSync::ORMAdapter::ActiveRecord + @receiving_model = Receiving::Model::ActiveRecord + @setup = TableSync::Setup::ActiveRecord when :sequel - @publishing_adapter = Publishing::ORMAdapter::Sequel - @receiving_model = Receiving::Model::Sequel + @publishing_adapter = TableSync::ORMAdapter::Sequel + @receiving_model = Receiving::Model::Sequel + @setup = TableSync::Setup::Sequel else raise ORMNotSupported.new(val.inspect) end @orm = val