Your example shows that vcard.email 'joe@strummer.com', :type => ['work', 'internet'], :preferred => 1 should turn into EMAIL;TYPE=work,internet;PREF=1:joe@strummer.com but in my testing it actually outputs EMAIL;TYPE=["work", "internet"];PREF=1:joe@strummer.com which is not valid. This just adds a check for array hash values and joins them with ',' to match the expectation of the examples and output valid vcards (at least for this use-case). I'm not an expert at vcard formats so I do not know if this causes any problems with other use-cases.
Your example shows that
vcard.email 'joe@strummer.com', :type => ['work', 'internet'], :preferred => 1
should turn intoEMAIL;TYPE=work,internet;PREF=1:joe@strummer.com
but in my testing it actually outputsEMAIL;TYPE=["work", "internet"];PREF=1:joe@strummer.com
which is not valid. This just adds a check for array hash values and joins them with ',' to match the expectation of the examples and output valid vcards (at least for this use-case). I'm not an expert at vcard formats so I do not know if this causes any problems with other use-cases.