Module: Slavery
- Defined in:
- lib/slavery.rb,
lib/slavery/base.rb,
lib/slavery/error.rb,
lib/slavery/version.rb,
lib/slavery/transaction.rb,
lib/slavery/connection_holder.rb
Defined Under Namespace
Classes: Base, ConnectionHolder, Error, Transaction
Constant Summary
collapse
- VERSION =
'3.0.0'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.disabled ⇒ Object
Returns the value of attribute disabled.
14
15
16
|
# File 'lib/slavery.rb', line 14
def disabled
@disabled
end
|
Class Method Details
.connection_holder(target) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/slavery/connection_holder.rb', line 16
def connection_holder(target)
klass_name = "Slavery#{target.to_s.camelize}ConnectionHolder"
slave_connections[klass_name] ||= begin
klass = Class.new(Slavery::ConnectionHolder) do
self.abstract_class = true
end
Object.const_set(klass_name, klass)
klass.activate(target)
klass
end
end
|
.on_master(&block) ⇒ Object
25
26
27
|
# File 'lib/slavery.rb', line 25
def on_master(&block)
Base.new(:master).run &block
end
|
.on_slave(name = :null_state, &block) ⇒ Object
20
21
22
23
|
# File 'lib/slavery.rb', line 20
def on_slave(name = :null_state, &block)
raise Slavery::Error.new('invalid slave target') unless name.is_a?(Symbol)
Base.new(name).run &block
end
|
.slave_connections ⇒ Object
16
17
18
|
# File 'lib/slavery.rb', line 16
def slave_connections
@slave_connections ||= {}
end
|