diff --git a/lib/microformats2.rb b/lib/microformats2.rb index a9968fc..cb906d0 100644 --- a/lib/microformats2.rb +++ b/lib/microformats2.rb @@ -1,6 +1,8 @@ require "nokogiri" require "open-uri" require "json" +require "active_support/inflector" + require "microformats2/version" require "microformats2/format_parser" require "microformats2/property_parser" diff --git a/lib/microformats2/format.rb b/lib/microformats2/format.rb index ca443d6..65bd24e 100644 --- a/lib/microformats2/format.rb +++ b/lib/microformats2/format.rb @@ -82,13 +82,19 @@ module Microformats2 unless respond_to?(mn) self.class.class_eval { attr_accessor mn } end + unless respond_to?(mn.pluralize) + self.class.class_eval { attr_accessor mn.pluralize } + end end def set_value(mn, value) - if current = send(mn) + unless current = send(mn) + send("#{mn}=", value) + end + if current = send(mn.pluralize) current << value else - send("#{mn}=", [value]) + send("#{mn.pluralize}=", [value]) end end end