Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
(unknown)

Instance Method Summary collapse

Instance Method Details

#deep_merge(*args) ⇒ Object



51
52
53
# File 'ext/sin_deep_merge/sin_deep_merge.c', line 51

static VALUE hash_deep_merge(int argc, VALUE *argv, VALUE self) {
  return hash_deep_merge_bang(argc, argv, rb_obj_dup(self));
}

#deep_merge!(*args) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'ext/sin_deep_merge/sin_deep_merge.c', line 37

static VALUE hash_deep_merge_bang(int argc, VALUE *argv, VALUE self) {
  VALUE other;
  rb_scan_args(argc, argv, "1", &other);
  other = rb_funcall(other, rb_intern("to_hash"), 0);
  VALUE block = Qnil;
  if (rb_block_given_p()) {
    block = rb_block_proc();
  }

  deep_merge_hashes(self, other, block);

  return self;
}