module RailsRedshiftReplicator::Model::Extension::ClassMethods

Public Instance Methods

has_redshift_replication(replication_type, options = {}) click to toggle source
# File lib/rails_redshift_replicator/model/extension.rb, line 9
def has_redshift_replication(replication_type, options = {})
  cattr_accessor :rails_redshift_replicator_replicable
  replication_type = replication_type.to_s
  raise I18n.t(:replication_type_not_supported,
               replication_type: replication_type,
               types: RailsRedshiftReplicator.base_exporter_types.join(","),
               scope: :exception_messages) unless replication_type.in? RailsRedshiftReplicator.base_exporter_types
  extend Actions
  options[:source_table] ||= self.table_name
  self.rails_redshift_replicator_replicable = RailsRedshiftReplicator::Replicable.new(replication_type, options)
  RailsRedshiftReplicator.add_replicable({ options[:source_table] => rails_redshift_replicator_replicable })
end