/* * call-seq: * FieldInfo.new(name, options = {}) -> field_info * * Create a new FieldInfo object with the name +name+ and the properties * specified in +options+. The available options are [:store, :index, * :term_vector, :boost]. See the description of FieldInfo for more * information on these properties. */ static VALUE frb_fi_init(int argc, VALUE *argv, VALUE self) { VALUE roptions, rname; FieldInfo *fi; StoreValue store = STORE_YES; IndexValue index = INDEX_YES; TermVectorValue term_vector = TERM_VECTOR_WITH_POSITIONS_OFFSETS; float boost = 1.0f; rb_scan_args(argc, argv, "11", &rname, &roptions); if (argc > 1) { frb_fi_get_params(roptions, &store, &index, &term_vector, &boost); } fi = fi_new(frb_field(rname), store, index, term_vector); fi->boost = boost; Frt_Wrap_Struct(self, NULL, &frb_fi_free, fi); object_add(fi, self); return self; }