Sha256: 112a755a9173c93001ade72684baafa1dbb9c2fe27b9088944156d4b4b2fb495
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
module Octopus module ReplicationTracking # Extension of Octopus::Proxy module ProxyMethods def self.extended(base) base.send(:include, InstanceMethods) end # Define Instance methods module InstanceMethods def master_shard? current_shard == Octopus.master_shard end def replication_position master_shard? ? master_replication_status : slave_replication_status end private def master_replication_status status_result = execute('SHOW MASTER STATUS;').first { file_name: status_result.try(:[], 0), position: status_result.try(:[], 1) } end def slave_replication_status status_result = execute('SHOW SLAVE STATUS;').first { file_name: status_result.try(:[], 5), position: status_result.try(:[], 6) } end end end end end Octopus::Proxy.extend(Octopus::ReplicationTracking::ProxyMethods)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ar-octopus-replication-tracking-0.1.5 | lib/octopus/replication_tracking/proxy_methods.rb |
ar-octopus-replication-tracking-0.1.3 | lib/octopus/replication_tracking/proxy_methods.rb |