Sha256: 72609905660e8d85f8004b09f43843396f4fe22c0a6e06efe9000b113a69ae19

Contents?: true

Size: 850 Bytes

Versions: 27

Compression:

Stored size: 850 Bytes

Contents

# frozen_string_literal: true

module PubSubModelSync
  class Subscriber < PubSubModelSync::Base
    attr_accessor :klass, :action, :mapping, :settings, :from_klass, :mode
    attr_reader :payload, :model

    # @param klass (String) class name
    # @param action (Symbol) @refer SubscriberConcern.ps_subscribe
    # @param mapping (Array<String>) @refer SubscriberConcern.ps_subscribe
    # @param settings (Hash): @refer SubscriberConcern.ps_subscribe
    def initialize(klass, action, mapping: [], settings: {})
      def_settings = { from_klass: klass, to_action: action, id: :id, if: nil, unless: nil, mode: :model }
      @klass = klass
      @mapping = mapping
      @settings = def_settings.merge(settings)
      @action = action.to_sym
      @from_klass = @settings[:from_klass].to_s
      @mode = @settings[:mode].to_sym
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
pub_sub_model_sync-1.9.3 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.9.2 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.9.1 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.9.0 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.7.2 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.7.1 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.7.0 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.6.4 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.6.3 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.6.2 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.6.1 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.6.1pre lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.6.0 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.5.1pre lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.5.0 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.4.0 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.3.1 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.3.0 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.2.1 lib/pub_sub_model_sync/subscriber.rb
pub_sub_model_sync-1.2.0 lib/pub_sub_model_sync/subscriber.rb