Kouhei Sutou
null+****@clear*****
Thu Mar 16 11:21:52 JST 2017
Kouhei Sutou 2017-03-16 11:21:52 +0900 (Thu, 16 Mar 2017) New Revision: 17716f392aee62d2c3eb7804a241a1020c4c98e7 https://github.com/groonga/groonga/commit/17716f392aee62d2c3eb7804a241a1020c4c98e7 Message: mrb: add Column.parse_flags Modified files: lib/mrb/mrb_column.c Modified: lib/mrb/mrb_column.c (+23 -1) =================================================================== --- lib/mrb/mrb_column.c 2017-03-16 10:23:15 +0900 (ed21ff7) +++ lib/mrb/mrb_column.c 2017-03-16 11:21:52 +0900 (9679aac) @@ -1,6 +1,6 @@ /* -*- c-basic-offset: 2 -*- */ /* - Copyright(C) 2013-2014 Brazil + Copyright(C) 2013-2017 Brazil This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,7 @@ */ #include "../grn_ctx_impl.h" +#include "../grn_proc.h" #ifdef GRN_WITH_MRUBY #include <mruby.h> @@ -29,6 +30,24 @@ #include "mrb_converter.h" static mrb_value +mrb_grn_column_class_parse_flags(mrb_state *mrb, mrb_value self) +{ + grn_ctx *ctx = (grn_ctx *)mrb->ud; + char *error_message_tag; + char *flags_text; + mrb_int flags_text_size; + grn_column_flags flags; + + mrb_get_args(mrb, "Ss", &error_message_tag, &flags_text, &flags_text_size); + + flags = grn_proc_column_parse_flags(ctx, + error_message_tag, + flags_text, + flags_text + flags_text_size); + return mrb_fixnum_value(flags); +} + +static mrb_value mrb_grn_column_array_reference(mrb_state *mrb, mrb_value self) { grn_ctx *ctx = (grn_ctx *)mrb->ud; @@ -117,6 +136,9 @@ grn_mrb_column_init(grn_ctx *ctx) klass = mrb_define_class_under(mrb, module, "Column", object_class); MRB_SET_INSTANCE_TT(klass, MRB_TT_DATA); + mrb_define_class_method(mrb, klass, "parse_flags", + mrb_grn_column_class_parse_flags, MRB_ARGS_REQ(2)); + mrb_define_method(mrb, klass, "[]", mrb_grn_column_array_reference, MRB_ARGS_REQ(1)); -------------- next part -------------- HTML����������������������������...Download