class BDB::Delegate
Public Class Methods
_load(p1)
click to toggle source
static VALUE bdb_deleg_load(VALUE obj, VALUE str) { bdb_DB *dbst; obj = bdb_local_aref(); Data_Get_Struct(obj, bdb_DB, dbst); return rb_funcall(dbst->marshal, bdb_id_load, 1, str); }
_load_data(p1)
click to toggle source
static VALUE bdb_deleg_load(VALUE obj, VALUE str) { bdb_DB *dbst; obj = bdb_local_aref(); Data_Get_Struct(obj, bdb_DB, dbst); return rb_funcall(dbst->marshal, bdb_id_load, 1, str); }
Public Instance Methods
_dump(p1)
click to toggle source
static VALUE bdb_deleg_dump(VALUE obj, VALUE limit) { struct deleg_class *delegst; bdb_DB *dbst; Data_Get_Struct(obj, struct deleg_class, delegst); Data_Get_Struct(delegst->db, bdb_DB, dbst); return rb_funcall(dbst->marshal, bdb_id_dump, 1, delegst->obj); }
_dump_data(p1)
click to toggle source
static VALUE bdb_deleg_dump(VALUE obj, VALUE limit) { struct deleg_class *delegst; bdb_DB *dbst; Data_Get_Struct(obj, struct deleg_class, delegst); Data_Get_Struct(delegst->db, bdb_DB, dbst); return rb_funcall(dbst->marshal, bdb_id_dump, 1, delegst->obj); }
inspect()
click to toggle source
static VALUE bdb_deleg_inspect(VALUE obj)
method_missing(*args)
click to toggle source
static VALUE bdb_deleg_missing(int argc, VALUE *argv, VALUE obj) { struct deleg_class *delegst, *newst; bdb_DB *dbst; VALUE res, new; Data_Get_Struct(obj, struct deleg_class, delegst); if (rb_block_given_p()) { #if HAVE_RB_BLOCK_CALL res = rb_block_call(delegst->obj, id_send, argc, argv, rb_yield, 0); #else VALUE tmp[3]; tmp[0] = delegst->obj; tmp[1] = (VALUE)argc; tmp[2] = (VALUE)argv; res = rb_iterate((VALUE(*)(VALUE))bdb_deleg_each, (VALUE)tmp, rb_yield, 0); #endif } else { res = rb_funcall2(delegst->obj, id_send, argc, argv); } Data_Get_Struct(delegst->db, bdb_DB, dbst); if (dbst->dbp) { VALUE nargv[2]; if (!SPECIAL_CONST_P(res) && (TYPE(res) != T_DATA || RDATA(res)->dmark != (RUBY_DATA_FUNC)bdb_deleg_mark)) { new = Data_Make_Struct(bdb_cDelegate, struct deleg_class, bdb_deleg_mark, free, newst); newst->db = delegst->db; newst->obj = res; newst->key = (!delegst->type)?obj:delegst->key; newst->type = 1; res = new; } if (!delegst->type) { nargv[0] = delegst->key; nargv[1] = delegst->obj; } else { Data_Get_Struct(delegst->key, struct deleg_class, newst); nargv[0] = newst->key; nargv[1] = newst->obj; } bdb_put(2, nargv, delegst->db); } return res; }
to_a()
click to toggle source
static VALUE bdb_deleg_to_a(VALUE obj)
to_ary()
click to toggle source
static VALUE bdb_deleg_to_ary(VALUE obj)
to_f()
click to toggle source
static VALUE bdb_deleg_to_f(VALUE obj)
to_hash()
click to toggle source
static VALUE bdb_deleg_to_hash(VALUE obj)
to_i()
click to toggle source
static VALUE bdb_deleg_to_i(VALUE obj)
to_int()
click to toggle source
static VALUE bdb_deleg_to_int(VALUE obj)
to_io()
click to toggle source
static VALUE bdb_deleg_to_io(VALUE obj)
to_orig()
click to toggle source
VALUE bdb_deleg_to_orig(VALUE obj) { struct deleg_class *delegst; Data_Get_Struct(obj, struct deleg_class, delegst); return delegst->obj; }
to_proc()
click to toggle source
static VALUE bdb_deleg_to_proc(VALUE obj)
to_s()
click to toggle source
static VALUE bdb_deleg_to_s(VALUE obj)
to_str()
click to toggle source
static VALUE bdb_deleg_to_str(VALUE obj)