Module: Replicat::Replicable::ClassMethods

Defined in:
lib/replicat/replicable.rb

Instance Method Summary collapse

Instance Method Details

#configurationObject



38
39
40
# File 'lib/replicat/replicable.rb', line 38

def configuration
  connection_name && configurations[connection_name]
end

#connection_with_proxyObject



22
23
24
25
26
27
28
# File 'lib/replicat/replicable.rb', line 22

def connection_with_proxy
  if has_any_replication?
    proxy
  else
    connection_without_proxy
  end
end

#has_any_replication?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/replicat/replicable.rb', line 30

def has_any_replication?
  has_configuration? && replications.present?
end

#has_configuration?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/replicat/replicable.rb', line 34

def has_configuration?
  !!configuration
end

#replicationsObject



42
43
44
# File 'lib/replicat/replicable.rb', line 42

def replications
  configuration["replications"]
end

#using(connection_name) ⇒ Object



46
47
48
49
50
51
52
53
54
55
# File 'lib/replicat/replicable.rb', line 46

def using(connection_name)
  if block_given?
    proxy.current_connection_name = connection_name
    yield
  else
    ScopeProxy.new(klass: self, connection_name: connection_name)
  end
ensure
  proxy.current_connection_name = nil if block_given?
end