Module: Sequel::Plugins::Sharding::DatasetMethods

Defined in:
lib/sequel/plugins/sharding.rb

Instance Method Summary collapse

Instance Method Details

#server(s) ⇒ Object

If a row proc exists on the dataset, replace it with one that calls the previous row_proc, but calls set_server on the output of that row_proc, ensuring that objects retrieved by a specific shard know which shard they are tied to.



110
111
112
113
114
115
116
# File 'lib/sequel/plugins/sharding.rb', line 110

def server(s)
  ds = super
  if rp = row_proc
    ds = ds.with_row_proc(proc{|r| rp.call(r).set_server(s)})
  end
  ds
end