Kouhei Sutou
null+****@clear*****
Wed May 28 22:40:13 JST 2014
Kouhei Sutou 2014-05-28 22:40:13 +0900 (Wed, 28 May 2014) New Revision: 3ba47333f4b7ba21846335db5e7f33cb2cce4fc7 https://github.com/groonga/groonga/commit/3ba47333f4b7ba21846335db5e7f33cb2cce4fc7 Message: mrb: move Accessor#find_index to Object#find_index Modified files: lib/mrb/mrb_accessor.c lib/mrb/mrb_obj.c Modified: lib/mrb/mrb_accessor.c (+0 -28) =================================================================== --- lib/mrb/mrb_accessor.c 2014-05-27 23:57:55 +0900 (3e15d27) +++ lib/mrb/mrb_accessor.c 2014-05-28 22:40:13 +0900 (1ff09e8) @@ -26,7 +26,6 @@ #include "../db.h" #include "mrb_accessor.h" -#include "mrb_index_info.h" static struct mrb_data_type mrb_grn_accessor_type = { "Groonga::Accessor", @@ -68,31 +67,6 @@ mrb_grn_accessor_next(mrb_state *mrb, mrb_value self) return mrb_cptr_value(mrb, accessor->next); } -static mrb_value -mrb_grn_accessor_find_index(mrb_state *mrb, mrb_value self) -{ - grn_ctx *ctx = (grn_ctx *)mrb->ud; - grn_accessor *accessor; - mrb_value mrb_operator; - grn_obj *index; - int n_indexes; - int section_id; - - mrb_get_args(mrb, "o", &mrb_operator); - accessor = DATA_PTR(self); - n_indexes = grn_column_index(ctx, - (grn_obj *)accessor, - mrb_fixnum(mrb_operator), - &index, - 1, - §ion_id); - if (n_indexes == 0) { - return mrb_nil_value(); - } else { - return mrb_grn_index_info_new(mrb, index, section_id); - } -} - void grn_mrb_accessor_init(grn_ctx *ctx) { @@ -107,7 +81,5 @@ grn_mrb_accessor_init(grn_ctx *ctx) mrb_grn_accessor_initialize, MRB_ARGS_REQ(1)); mrb_define_method(mrb, klass, "next", mrb_grn_accessor_next, MRB_ARGS_NONE()); - mrb_define_method(mrb, klass, "find_index", - mrb_grn_accessor_find_index, MRB_ARGS_REQ(1)); } #endif Modified: lib/mrb/mrb_obj.c (+28 -0) =================================================================== --- lib/mrb/mrb_obj.c 2014-05-27 23:57:55 +0900 (92583f3) +++ lib/mrb/mrb_obj.c 2014-05-28 22:40:13 +0900 (8b41675) @@ -24,6 +24,7 @@ #include <mruby/data.h> #include "mrb_obj.h" +#include "mrb_index_info.h" static mrb_value object_get_name(mrb_state *mrb, mrb_value self) @@ -39,6 +40,31 @@ object_get_name(mrb_state *mrb, mrb_value self) return mrb_str_new(mrb, name, name_length); } +static mrb_value +object_find_index(mrb_state *mrb, mrb_value self) +{ + grn_ctx *ctx = (grn_ctx *)mrb->ud; + grn_obj *object; + mrb_value mrb_operator; + grn_obj *index; + int n_indexes; + int section_id; + + mrb_get_args(mrb, "o", &mrb_operator); + object = DATA_PTR(self); + n_indexes = grn_column_index(ctx, + object, + mrb_fixnum(mrb_operator), + &index, + 1, + §ion_id); + if (n_indexes == 0) { + return mrb_nil_value(); + } else { + return mrb_grn_index_info_new(mrb, index, section_id); + } +} + void grn_mrb_obj_init(grn_ctx *ctx) { @@ -52,5 +78,7 @@ grn_mrb_obj_init(grn_ctx *ctx) data->object_class = klass; mrb_define_method(mrb, klass, "name", object_get_name, MRB_ARGS_NONE()); + mrb_define_method(mrb, klass, "find_index", + object_find_index, MRB_ARGS_REQ(1)); } #endif -------------- next part -------------- HTML����������������������������...Download