module Sequel::Plugins::Sharding::ClassMethods

  1. lib/sequel/plugins/sharding.rb
Parent: Sharding

Public Instance methods

create_using_server (s, values={}, &block)

Create a new object on the given shard s.

[show source]
# File lib/sequel/plugins/sharding.rb, line 23
def create_using_server(s, values={}, &block)
  new_using_server(s, values, &block).save
end
eager_loading_dataset (opts, ds, select, associations, eager_options=OPTS)

When eagerly loading, if the current dataset has a defined shard and the dataset that you will be using to get the associated records does not, use the current dataset’s shard for the associated dataset.

[show source]
# File lib/sequel/plugins/sharding.rb, line 30
def eager_loading_dataset(opts, ds, select, associations, eager_options=OPTS)
  ds = super(opts, ds, select, associations, eager_options)
  if !ds.opts[:server] and s = eager_options[:self] and server = s.opts[:server]
    ds = ds.server(server)
  end
  ds
end
new_using_server (s, values={}, &block)

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.

[show source]
# File lib/sequel/plugins/sharding.rb, line 41
def new_using_server(s, values={}, &block)
  new(values, &block).set_server(s)
end