Sha256: 756561f5facdb60fb2fa8c8cfbdd2c4f56ba775dc5d1be192cf0a81031f005b2
Contents?: true
Size: 1.52 KB
Versions: 5
Compression:
Stored size: 1.52 KB
Contents
module Mail grammar ContentType include RFC2822 include RFC2045 rule content_type main_type "/" sub_type param_hashes:(CFWS ";"* parameter CFWS)* { def parameters param_hashes.elements.map do |param| param.parameter.param_hash end end } end rule main_type discrete_type / composite_type end # This matches in a case insensitive way: # # rule discrete_type # "text" / "image" / "audio" / "video" / "application" / extension_token # end rule discrete_type [tT] [eE] [xX] [tT] / [iI] [mM] [aA] [gG] [eE] / [aA] [uU] [dD] [iI] [oO] / [vV] [iI] [dD] [eE] [oO] / [aA] [pP] [pP] [lL] [iI] [cC] [aA] [tT] [iI] [oO] [nN] / extension_token end # This matches in a case insensitive way: # # rule composite_type # "message" / "multipart" / extension_token # end rule composite_type [mM] [eE] [sS] [sS] [aA] [gG] [eE] / [mM] [uU] [lL] [tT] [iI] [pP] [aA] [rR] [tT] / extension_token end rule extension_token ietf_token / custom_x_token end rule sub_type extension_token / iana_token end rule parameter CFWS? attr:attribute "=" val:value CFWS? { def param_hash {attr.text_value => val.text_value} end } end rule attribute token+ end rule value quoted_string { def text_value quoted_content.text_value end } / (token / [\x3d])+ end end end
Version data entries
5 entries across 5 versions & 3 rubygems