ext/attribute_builder/attribute_builder.c in faml-0.2.11 vs ext/attribute_builder/attribute_builder.c in faml-0.2.12

- old
+ new

@@ -7,11 +7,11 @@ # define RARRAY_AREF(a, i) RARRAY_PTR(a)[i] # define rb_ary_new_capa rb_ary_new2 #endif VALUE rb_mAttributeBuilder; -static ID id_keys, id_sort_bang, id_merge_bang, id_temple, id_utils, id_escape_html, id_gsub, id_to_s; +static ID id_keys, id_sort_bang, id_uniq_bang, id_merge_bang, id_temple, id_utils, id_escape_html, id_gsub, id_to_s; static void concat_array_attribute(VALUE attributes, VALUE hash, VALUE key) { VALUE v; @@ -177,10 +177,11 @@ for (i = 0; i < len; i++) { VALUE v = RARRAY_AREF(value, i); rb_ary_push(ary, rb_funcall(v, id_to_s, 0)); } rb_funcall(ary, id_sort_bang, 0); + rb_funcall(ary, id_uniq_bang, 0); return put_attribute(attr_quote, key, rb_ary_join(ary, rb_str_new_cstr(" "))); } } else if (strcmp(key_cstr, "id") == 0) { long len = RARRAY_LEN(value); @@ -249,9 +250,10 @@ rb_define_singleton_method(rb_mAttributeBuilder, "build", RUBY_METHOD_FUNC(m_build), -1); rb_define_singleton_method(rb_mAttributeBuilder, "normalize_data", RUBY_METHOD_FUNC(m_normalize_data), 1); id_keys = rb_intern("keys"); id_sort_bang = rb_intern("sort!"); + id_uniq_bang = rb_intern("uniq!"); id_merge_bang = rb_intern("merge!"); id_temple = rb_intern("Temple"); id_utils = rb_intern("Utils"); id_escape_html = rb_intern("escape_html"); id_gsub = rb_intern("gsub");