Module: ZK::ZKEventMachine::Callback

Defined in:
lib/z_k/z_k_event_machine/callback.rb

Overview

some improvements (one hopes) around the zookeeper gem’s somewhat (ahem) minimal Callback class

Defined Under Namespace

Classes: ACLCallback, Base, ChildrenCallback, DataCallback, ExistsCallback, SetCallback, StatCallback, StringCallback, VoidCallback

Class Method Summary collapse

Class Method Details

.new_acl_cb(njs_block) ⇒ Object Also known as: new_get_acl_cb



246
247
248
249
250
# File 'lib/z_k/z_k_event_machine/callback.rb', line 246

def new_acl_cb(njs_block)
  ACLCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end

.new_children_cb(njs_block) ⇒ Object



240
241
242
243
244
# File 'lib/z_k/z_k_event_machine/callback.rb', line 240

def new_children_cb(njs_block)
  ChildrenCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end

.new_data_cb(njs_block) ⇒ Object Also known as: new_get_cb



199
200
201
202
203
204
# File 'lib/z_k/z_k_event_machine/callback.rb', line 199

def new_data_cb(njs_block)
  DataCallback.new(njs_block).tap do |cb| # create the callback with the user-provided block
    cb.check_async_rc(yield(cb))          # yield the callback to the caller, check the return result 
                                          # of the async operation (not the async result)
  end                                     # return the callback
end

.new_exists_cb(njs_block) ⇒ Object



220
221
222
223
224
# File 'lib/z_k/z_k_event_machine/callback.rb', line 220

def new_exists_cb(njs_block)
  ExistsCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end

.new_set_cb(njs_block) ⇒ Object



226
227
228
229
230
# File 'lib/z_k/z_k_event_machine/callback.rb', line 226

def new_set_cb(njs_block)
  SetCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end

.new_stat_cb(njs_block) ⇒ Object



214
215
216
217
218
# File 'lib/z_k/z_k_event_machine/callback.rb', line 214

def new_stat_cb(njs_block)
  StatCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end

.new_string_cb(njs_block) ⇒ Object Also known as: new_create_cb

create alias so that this matches the client API name



207
208
209
210
211
# File 'lib/z_k/z_k_event_machine/callback.rb', line 207

def new_string_cb(njs_block)
  StringCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end

.new_void_cb(njs_block) ⇒ Object Also known as: new_delete_cb, new_set_acl_cb



232
233
234
235
236
# File 'lib/z_k/z_k_event_machine/callback.rb', line 232

def new_void_cb(njs_block)
  VoidCallback.new(njs_block).tap do |cb|
    cb.check_async_rc(yield(cb))
  end
end