module Sequel::Plugins::Sharding::ClassMethods
Public Instance Methods
create_using_server(s, values={}, &block)
click to toggle source
Create a new object on the given shard s.
# File lib/sequel/plugins/sharding.rb, line 25 def create_using_server(s, values={}, &block) new_using_server(s, values, &block).save end
eager_load_results(opts, eo, &block)
click to toggle source
Eager load the association with the given eager loader options.
Calls superclass method
# File lib/sequel/plugins/sharding.rb, line 30 def eager_load_results(opts, eo, &block) if (s = eo[:self]) && (server = s.opts[:server]) eb = eo[:eager_block] set_server = proc do |ds| ds = eb.call(ds) if eb ds = ds.server?(server) ds end eo = Hash[eo] eo[:eager_block] = set_server eo end super end
new_using_server(s, values={}, &block)
click to toggle source
Return a newly instantiated object that is tied to the given shard s. When the object is saved, a record will be inserted on shard s.
# File lib/sequel/plugins/sharding.rb, line 49 def new_using_server(s, values={}, &block) new(values, &block).set_server(s) end
Private Instance Methods
eager_graph_dataset(opts, eager_options)
click to toggle source
Set the server for each graphed dataset to the current server unless the graphed dataset already has a server set.
Calls superclass method
# File lib/sequel/plugins/sharding.rb, line 57 def eager_graph_dataset(opts, eager_options) ds = super if s = eager_options[:self].opts[:server] ds = ds.server?(s) end ds end