Module: Tako

Extended by:
MultiShardExecution
Defined in:
lib/tako.rb,
lib/tako/proxy.rb,
lib/tako/config.rb,
lib/tako/railtie.rb,
lib/tako/version.rb,
lib/tako/repository.rb,
lib/tako/proxy_stack.rb,
lib/tako/query_chain.rb,
lib/tako/active_record_ext.rb,
lib/tako/multi_shard_execution.rb,
lib/tako/active_record_ext/base.rb,
lib/tako/active_record_ext/association.rb,
lib/tako/active_record_ext/log_subscriber.rb,
lib/tako/active_record_ext/sharded_methods.rb,
lib/tako/active_record_ext/collection_proxy.rb,
lib/tako/active_record_ext/connection_handling.rb,
lib/tako/active_record_ext/association_relation.rb,
lib/tako/active_record_ext/singular_association.rb,
lib/tako/active_record_ext/collection_association.rb

Defined Under Namespace

Modules: ActiveRecordExt, MultiShardExecution Classes: Config, Proxy, ProxyStack, QueryChain, Railtie, Repository

Constant Summary collapse

VERSION =
"0.6.0"

Class Method Summary collapse

Methods included from MultiShardExecution

shard_names, with_all_shards

Class Method Details

.configObject



32
33
34
# File 'lib/tako.rb', line 32

def config
  Tako::Config.shards_yml[:tako]
end

.envObject



36
37
38
# File 'lib/tako.rb', line 36

def env
  Tako::Config.env
end

.load_connections_from_yamlObject



25
26
27
28
29
30
# File 'lib/tako.rb', line 25

def load_connections_from_yaml
  Tako::Repository.clear
  (config[env] || []).each do |shard_name, conf|
    Tako::Repository.add(shard_name, conf)
  end
end

.shard(shard_name) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/tako.rb', line 15

def shard(shard_name)
  if block_given?
    Tako::Repository.create_proxy(shard_name).with_shard do
      yield
    end
  else
    raise "gimme a block!"
  end
end