Module: SolidCache

Defined in:
lib/solid_cache/maglev_hash.rb,
lib/solid_cache.rb,
lib/solid_cache/store.rb,
lib/solid_cache/engine.rb,
lib/solid_cache/cluster.rb,
lib/solid_cache/version.rb,
lib/solid_cache/store/api.rb,
lib/solid_cache/connections.rb,
app/models/solid_cache/entry.rb,
app/models/solid_cache/record.rb,
lib/solid_cache/cluster/stats.rb,
lib/solid_cache/store/entries.rb,
lib/solid_cache/cluster/expiry.rb,
lib/solid_cache/store/clusters.rb,
lib/solid_cache/store/failsafe.rb,
app/jobs/solid_cache/expiry_job.rb,
lib/solid_cache/cluster/execution.rb,
lib/solid_cache/connections/single.rb,
lib/solid_cache/cluster/connections.rb,
lib/solid_cache/connections/sharded.rb,
lib/solid_cache/connections/unmanaged.rb

Overview

Defined Under Namespace

Modules: Connections Classes: Cluster, Engine, Entry, ExpiryJob, InstallGenerator, MaglevHash, Record, Store

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.all_shard_keysObject



12
13
14
# File 'lib/solid_cache.rb', line 12

def self.all_shard_keys
  all_shards_config&.keys || []
end

.all_shards_configObject



16
17
18
# File 'lib/solid_cache.rb', line 16

def self.all_shards_config
  connects_to && connects_to[:shards]
end

.each_shardObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/solid_cache.rb', line 20

def self.each_shard
  return to_enum(:each_shard) unless block_given?

  if (shards = all_shards_config&.keys)
    shards.each do |shard|
      Record.connected_to(shard: shard) { yield }
    end
  else
    yield
  end
end