[Groonga-commit] groonga/groonga at e07ae4c [master] mrb: add Groonga::Object#path

Back to archive index

Kouhei Sutou null+****@clear*****
Tue May 10 16:48:14 JST 2016


Kouhei Sutou	2016-05-10 16:48:14 +0900 (Tue, 10 May 2016)

  New Revision: e07ae4cd1f038c48a3954049bff474bcc0232b5f
  https://github.com/groonga/groonga/commit/e07ae4cd1f038c48a3954049bff474bcc0232b5f

  Message:
    mrb: add Groonga::Object#path

  Modified files:
    lib/mrb/mrb_object.c

  Modified: lib/mrb/mrb_object.c (+18 -0)
===================================================================
--- lib/mrb/mrb_object.c    2016-05-10 16:31:02 +0900 (80d399f)
+++ lib/mrb/mrb_object.c    2016-05-10 16:48:14 +0900 (10bd24a)
@@ -87,6 +87,23 @@ object_get_name(mrb_state *mrb, mrb_value self)
 }
 
 static mrb_value
+object_get_path(mrb_state *mrb, mrb_value self)
+{
+  grn_ctx *ctx = (grn_ctx *)mrb->ud;
+  grn_obj *object;
+  const char *path;
+
+  object = DATA_PTR(self);
+  path = grn_obj_path(ctx, object);
+
+  if (path) {
+    return mrb_str_new_cstr(mrb, path);
+  } else {
+    return mrb_nil_value();
+  }
+}
+
+static mrb_value
 object_grn_inspect(mrb_state *mrb, mrb_value self)
 {
   grn_ctx *ctx = (grn_ctx *)mrb->ud;
@@ -253,6 +270,7 @@ grn_mrb_object_init(grn_ctx *ctx)
 
   mrb_define_method(mrb, klass, "id", object_get_id, MRB_ARGS_NONE());
   mrb_define_method(mrb, klass, "name", object_get_name, MRB_ARGS_NONE());
+  mrb_define_method(mrb, klass, "path", object_get_path, MRB_ARGS_NONE());
   mrb_define_method(mrb, klass, "grn_inspect",
                     object_grn_inspect, MRB_ARGS_NONE());
   mrb_define_method(mrb, klass, "==", object_equal, MRB_ARGS_REQ(1));
-------------- next part --------------
HTML����������������������������...
下载 



More information about the Groonga-commit mailing list
Back to archive index