microformats 4.0.6 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +10 -0
  3. data/.gitignore +33 -15
  4. data/.rspec +3 -2
  5. data/.rubocop +3 -0
  6. data/.rubocop.yml +22 -0
  7. data/.ruby-version +1 -0
  8. data/.simplecov +11 -0
  9. data/.travis.yml +16 -2
  10. data/CONTRIBUTING.md +103 -0
  11. data/Guardfile +2 -2
  12. data/LICENSE +116 -0
  13. data/README.md +112 -172
  14. data/Rakefile +6 -7
  15. data/bin/microformats +10 -9
  16. data/lib/microformats.rb +15 -14
  17. data/lib/microformats/absolute_uri.rb +4 -8
  18. data/lib/microformats/format_parser.rb +271 -251
  19. data/lib/microformats/parser.rb +39 -39
  20. data/lib/microformats/parser_core.rb +142 -109
  21. data/lib/microformats/property_parser.rb +42 -65
  22. data/lib/microformats/results/collection.rb +19 -38
  23. data/lib/microformats/results/parser_result.rb +25 -37
  24. data/lib/microformats/results/property_set.rb +24 -31
  25. data/lib/microformats/time_property_parser.rb +130 -104
  26. data/lib/microformats/version.rb +1 -1
  27. data/logo.svg +23 -0
  28. data/microformats.gemspec +35 -33
  29. metadata +122 -445
  30. data/LICENSE.md +0 -36
  31. data/spec/lib/microformats/absolute_uri_spec.rb +0 -56
  32. data/spec/lib/microformats/parser_spec.rb +0 -132
  33. data/spec/lib/microformats_spec.rb +0 -33
  34. data/spec/spec_helper.rb +0 -10
  35. data/spec/support/cases/microformats.org/microformats-2/microformats-2-0.html +0 -2
  36. data/spec/support/cases/microformats.org/microformats-2/microformats-2-0.js +0 -9
  37. data/spec/support/cases/microformats.org/microformats-2/microformats-2-1.html +0 -2
  38. data/spec/support/cases/microformats.org/microformats-2/microformats-2-1.js +0 -10
  39. data/spec/support/cases/microformats.org/microformats-2/microformats-2-2.html +0 -5
  40. data/spec/support/cases/microformats.org/microformats-2/microformats-2-2.js +0 -11
  41. data/spec/support/cases/microformats.org/microformats-2/microformats-2-3.html +0 -17
  42. data/spec/support/cases/microformats.org/microformats-2/microformats-2-3.js +0 -20
  43. data/spec/support/cases/microformats.org/microformats-2/microformats-2-4.html +0 -16
  44. data/spec/support/cases/microformats.org/microformats-2/microformats-2-4.js +0 -24
  45. data/spec/support/cases/microformats.org/microformats-2/microformats-2-5.html +0 -7
  46. data/spec/support/cases/microformats.org/microformats-2/microformats-2-5.js +0 -11
  47. data/spec/support/cases/microformats.org/microformats-2/microformats-2-6.html +0 -9
  48. data/spec/support/cases/microformats.org/microformats-2/microformats-2-6.js +0 -18
  49. data/spec/support/cases/microformats.org/microformats-2/microformats-2-7.html +0 -9
  50. data/spec/support/cases/microformats.org/microformats-2/microformats-2-7.js +0 -18
  51. data/spec/support/cases/microformats.org/microformats-2/microformats-2-8.html +0 -9
  52. data/spec/support/cases/microformats.org/microformats-2/microformats-2-8.js +0 -17
  53. data/spec/support/cases/microformats.org/microformats-2/microformats-2-9.html +0 -9
  54. data/spec/support/cases/microformats.org/microformats-2/microformats-2-9.js +0 -17
  55. data/spec/support/lib/edge_cases/blank_href.html +0 -23
  56. data/spec/support/lib/edge_cases/blank_href.js +0 -15
  57. data/spec/support/lib/edge_cases/blank_rel.html +0 -23
  58. data/spec/support/lib/edge_cases/blank_rel.js +0 -41
  59. data/spec/support/lib/edge_cases/blank_src.html +0 -24
  60. data/spec/support/lib/edge_cases/blank_src.js +0 -16
  61. data/spec/support/lib/edge_cases/blank_value.html +0 -5
  62. data/spec/support/lib/edge_cases/blank_value.js +0 -19
  63. data/spec/support/lib/edge_cases/relative.html +0 -29
  64. data/spec/support/lib/edge_cases/relative.js +0 -15
  65. data/spec/support/lib/microformats/blank_href.html +0 -23
  66. data/spec/support/lib/microformats/blank_href.js +0 -11
  67. data/spec/support/lib/microformats/implied_property/name-fail.html +0 -60
  68. data/spec/support/lib/microformats/implied_property/name-pass.html +0 -30
  69. data/spec/support/lib/microformats/implied_property/photo-fail.html +0 -60
  70. data/spec/support/lib/microformats/implied_property/photo-pass.html +0 -30
  71. data/spec/support/lib/microformats/implied_property/url-fail.html +0 -18
  72. data/spec/support/lib/microformats/implied_property/url-pass.html +0 -12
  73. data/spec/support/lib/microformats/implied_property/url-relative.html +0 -13
  74. data/spec/support/lib/microformats/implied_property/url-unnormalized.html +0 -12
  75. data/spec/support/lib/microformats/nested-format-with-property-of-same-name.html +0 -13
  76. data/spec/support/lib/microformats/nested-format-with-property-of-same-name.js +0 -16
  77. data/spec/support/lib/microformats/nested-format-with-property.html +0 -12
  78. data/spec/support/lib/microformats/nested-format-with-property.js +0 -16
  79. data/spec/support/lib/microformats/nested-format-without-property.html +0 -13
  80. data/spec/support/lib/microformats/nested-property.html +0 -12
  81. data/spec/support/lib/microformats/nested-property.js +0 -10
  82. data/spec/support/lib/microformats/rels-that-drop-the-base.html +0 -11
  83. data/spec/support/lib/microformats/rels-with-unnormalized-urls.html +0 -11
  84. data/spec/support/lib/microformats/rels.html +0 -12
  85. data/spec/support/lib/microformats/rels.js +0 -13
  86. data/spec/support/lib/microformats/simple.html +0 -23
  87. data/spec/support/lib/microformats/simple.js +0 -11
  88. data/vendor/tests/.gitignore +0 -25
  89. data/vendor/tests/LICENSE.md +0 -36
  90. data/vendor/tests/README.md +0 -48
  91. data/vendor/tests/app.js +0 -84
  92. data/vendor/tests/composer.json +0 -5
  93. data/vendor/tests/css/testsuite.css +0 -159
  94. data/vendor/tests/interface.js +0 -18
  95. data/vendor/tests/package.json +0 -27
  96. data/vendor/tests/tests/microformats-mixed/h-card/change-log.html +0 -63
  97. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.html +0 -14
  98. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.json +0 -22
  99. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.html +0 -1
  100. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.json +0 -10
  101. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.html +0 -16
  102. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.json +0 -38
  103. data/vendor/tests/tests/microformats-mixed/h-resume/change-log.html +0 -68
  104. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.html +0 -16
  105. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.json +0 -31
  106. data/vendor/tests/tests/microformats-v1/adr/change-log.html +0 -63
  107. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.html +0 -8
  108. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.json +0 -15
  109. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.html +0 -5
  110. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.json +0 -11
  111. data/vendor/tests/tests/microformats-v1/geo/change-log.1.html +0 -78
  112. data/vendor/tests/tests/microformats-v1/geo/change-log.html +0 -63
  113. data/vendor/tests/tests/microformats-v1/geo/hidden.html +0 -10
  114. data/vendor/tests/tests/microformats-v1/geo/hidden.json +0 -11
  115. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.html +0 -6
  116. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.json +0 -11
  117. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.html +0 -11
  118. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.json +0 -11
  119. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.html +0 -41
  120. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.json +0 -21
  121. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.html +0 -13
  122. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.json +0 -37
  123. data/vendor/tests/tests/microformats-v1/hcalendar/change-log.html +0 -68
  124. data/vendor/tests/tests/microformats-v1/hcalendar/combining.html +0 -15
  125. data/vendor/tests/tests/microformats-v1/hcalendar/combining.json +0 -31
  126. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.html +0 -7
  127. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.json +0 -12
  128. data/vendor/tests/tests/microformats-v1/hcalendar/time.html +0 -44
  129. data/vendor/tests/tests/microformats-v1/hcalendar/time.json +0 -22
  130. data/vendor/tests/tests/microformats-v1/hcard/change-log.html +0 -68
  131. data/vendor/tests/tests/microformats-v1/hcard/email.html +0 -14
  132. data/vendor/tests/tests/microformats-v1/hcard/email.json +0 -11
  133. data/vendor/tests/tests/microformats-v1/hcard/format.html +0 -6
  134. data/vendor/tests/tests/microformats-v1/hcard/format.json +0 -11
  135. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.html +0 -3
  136. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.json +0 -8
  137. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.html +0 -1
  138. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.json +0 -8
  139. data/vendor/tests/tests/microformats-v1/hcard/justaname.html +0 -1
  140. data/vendor/tests/tests/microformats-v1/hcard/justaname.json +0 -8
  141. data/vendor/tests/tests/microformats-v1/hcard/multiple.html +0 -74
  142. data/vendor/tests/tests/microformats-v1/hcard/multiple.json +0 -65
  143. data/vendor/tests/tests/microformats-v1/hcard/name.html +0 -11
  144. data/vendor/tests/tests/microformats-v1/hcard/name.json +0 -15
  145. data/vendor/tests/tests/microformats-v1/hcard/single.html +0 -14
  146. data/vendor/tests/tests/microformats-v1/hcard/single.json +0 -24
  147. data/vendor/tests/tests/microformats-v1/hentry/change-log.html +0 -73
  148. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.html +0 -20
  149. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.json +0 -24
  150. data/vendor/tests/tests/microformats-v1/hfeed/simple.html +0 -30
  151. data/vendor/tests/tests/microformats-v1/hfeed/simple.json +0 -49
  152. data/vendor/tests/tests/microformats-v1/hnews/all.html +0 -37
  153. data/vendor/tests/tests/microformats-v1/hnews/all.json +0 -74
  154. data/vendor/tests/tests/microformats-v1/hnews/change-log.html +0 -72
  155. data/vendor/tests/tests/microformats-v1/hnews/minimum.html +0 -25
  156. data/vendor/tests/tests/microformats-v1/hnews/minimum.json +0 -48
  157. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.html +0 -26
  158. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.json +0 -52
  159. data/vendor/tests/tests/microformats-v1/hproduct/change-log.html +0 -62
  160. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.html +0 -13
  161. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.json +0 -33
  162. data/vendor/tests/tests/microformats-v1/hresume/affiliation.html +0 -12
  163. data/vendor/tests/tests/microformats-v1/hresume/affiliation.json +0 -25
  164. data/vendor/tests/tests/microformats-v1/hresume/change-log.html +0 -73
  165. data/vendor/tests/tests/microformats-v1/hresume/contact.html +0 -18
  166. data/vendor/tests/tests/microformats-v1/hresume/contact.json +0 -32
  167. data/vendor/tests/tests/microformats-v1/hresume/education.html +0 -13
  168. data/vendor/tests/tests/microformats-v1/hresume/education.json +0 -29
  169. data/vendor/tests/tests/microformats-v1/hresume/skill.html +0 -12
  170. data/vendor/tests/tests/microformats-v1/hresume/skill.json +0 -33
  171. data/vendor/tests/tests/microformats-v1/hresume/work.html +0 -16
  172. data/vendor/tests/tests/microformats-v1/hresume/work.json +0 -30
  173. data/vendor/tests/tests/microformats-v1/hreview-aggregate/change-log.html +0 -67
  174. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.html +0 -18
  175. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.json +0 -31
  176. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.html +0 -6
  177. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.json +0 -19
  178. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.html +0 -13
  179. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.json +0 -22
  180. data/vendor/tests/tests/microformats-v1/hreview/change-log.html +0 -73
  181. data/vendor/tests/tests/microformats-v1/hreview/item.html +0 -8
  182. data/vendor/tests/tests/microformats-v1/hreview/item.json +0 -19
  183. data/vendor/tests/tests/microformats-v1/hreview/vcard.html +0 -23
  184. data/vendor/tests/tests/microformats-v1/hreview/vcard.json +0 -58
  185. data/vendor/tests/tests/microformats-v1/includes/change-log.html +0 -72
  186. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.html +0 -16
  187. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.json +0 -49
  188. data/vendor/tests/tests/microformats-v1/includes/heventitemref.html +0 -25
  189. data/vendor/tests/tests/microformats-v1/includes/heventitemref.json +0 -33
  190. data/vendor/tests/tests/microformats-v1/includes/hyperlink.html +0 -18
  191. data/vendor/tests/tests/microformats-v1/includes/hyperlink.json +0 -43
  192. data/vendor/tests/tests/microformats-v1/includes/object.html +0 -23
  193. data/vendor/tests/tests/microformats-v1/includes/object.json +0 -42
  194. data/vendor/tests/tests/microformats-v1/includes/table.html +0 -12
  195. data/vendor/tests/tests/microformats-v1/includes/table.json +0 -19
  196. data/vendor/tests/tests/microformats-v2/h-adr/change-log.html +0 -62
  197. data/vendor/tests/tests/microformats-v2/h-adr/geo.html +0 -10
  198. data/vendor/tests/tests/microformats-v2/h-adr/geo.json +0 -16
  199. data/vendor/tests/tests/microformats-v2/h-adr/geourl.html +0 -4
  200. data/vendor/tests/tests/microformats-v2/h-adr/geourl.json +0 -13
  201. data/vendor/tests/tests/microformats-v2/h-adr/justaname.html +0 -1
  202. data/vendor/tests/tests/microformats-v2/h-adr/justaname.json +0 -10
  203. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.html +0 -21
  204. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.json +0 -12
  205. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.html +0 -8
  206. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.json +0 -16
  207. data/vendor/tests/tests/microformats-v2/h-as-note/note.html +0 -56
  208. data/vendor/tests/tests/microformats-v2/h-as-note/note.json +0 -98
  209. data/vendor/tests/tests/microformats-v2/h-card/baseurl.html +0 -6
  210. data/vendor/tests/tests/microformats-v2/h-card/baseurl.json +0 -26
  211. data/vendor/tests/tests/microformats-v2/h-card/change-log.html +0 -100
  212. data/vendor/tests/tests/microformats-v2/h-card/childimplied.html +0 -7
  213. data/vendor/tests/tests/microformats-v2/h-card/childimplied.json +0 -12
  214. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.html +0 -10
  215. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.json +0 -15
  216. data/vendor/tests/tests/microformats-v2/h-card/hcard.html +0 -4
  217. data/vendor/tests/tests/microformats-v2/h-card/hcard.json +0 -19
  218. data/vendor/tests/tests/microformats-v2/h-card/horghcard.html +0 -4
  219. data/vendor/tests/tests/microformats-v2/h-card/horghcard.json +0 -19
  220. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.html +0 -3
  221. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.json +0 -12
  222. data/vendor/tests/tests/microformats-v2/h-card/impliedname.html +0 -15
  223. data/vendor/tests/tests/microformats-v2/h-card/impliedname.json +0 -90
  224. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.html +0 -11
  225. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.json +0 -72
  226. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.html +0 -5
  227. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.json +0 -45
  228. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.html +0 -1
  229. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.json +0 -11
  230. data/vendor/tests/tests/microformats-v2/h-card/justaname.html +0 -1
  231. data/vendor/tests/tests/microformats-v2/h-card/justaname.json +0 -10
  232. data/vendor/tests/tests/microformats-v2/h-card/nested.html +0 -4
  233. data/vendor/tests/tests/microformats-v2/h-card/nested.json +0 -18
  234. data/vendor/tests/tests/microformats-v2/h-card/p-property.html +0 -21
  235. data/vendor/tests/tests/microformats-v2/h-card/p-property.json +0 -15
  236. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.html +0 -6
  237. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.json +0 -29
  238. data/vendor/tests/tests/microformats-v2/h-entry/change-log.html +0 -90
  239. data/vendor/tests/tests/microformats-v2/h-entry/encoding.html +0 -3
  240. data/vendor/tests/tests/microformats-v2/h-entry/encoding.json +0 -14
  241. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.html +0 -9
  242. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.json +0 -27
  243. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.html +0 -1
  244. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.json +0 -11
  245. data/vendor/tests/tests/microformats-v2/h-entry/justaname.html +0 -1
  246. data/vendor/tests/tests/microformats-v2/h-entry/justaname.json +0 -10
  247. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.html +0 -4
  248. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.json +0 -14
  249. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.html +0 -20
  250. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.json +0 -25
  251. data/vendor/tests/tests/microformats-v2/h-entry/u-property.html +0 -33
  252. data/vendor/tests/tests/microformats-v2/h-entry/u-property.json +0 -12
  253. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.html +0 -13
  254. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.json +0 -14
  255. data/vendor/tests/tests/microformats-v2/h-event/ampm.html +0 -41
  256. data/vendor/tests/tests/microformats-v2/h-event/ampm.json +0 -21
  257. data/vendor/tests/tests/microformats-v2/h-event/attendees.html +0 -13
  258. data/vendor/tests/tests/microformats-v2/h-event/attendees.json +0 -37
  259. data/vendor/tests/tests/microformats-v2/h-event/change-log.html +0 -82
  260. data/vendor/tests/tests/microformats-v2/h-event/combining.html +0 -13
  261. data/vendor/tests/tests/microformats-v2/h-event/combining.json +0 -25
  262. data/vendor/tests/tests/microformats-v2/h-event/concatenate.html +0 -8
  263. data/vendor/tests/tests/microformats-v2/h-event/concatenate.json +0 -12
  264. data/vendor/tests/tests/microformats-v2/h-event/dates.html +0 -13
  265. data/vendor/tests/tests/microformats-v2/h-event/dates.json +0 -26
  266. data/vendor/tests/tests/microformats-v2/h-event/dt-property.html +0 -23
  267. data/vendor/tests/tests/microformats-v2/h-event/dt-property.json +0 -20
  268. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.html +0 -1
  269. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.json +0 -11
  270. data/vendor/tests/tests/microformats-v2/h-event/justaname.html +0 -1
  271. data/vendor/tests/tests/microformats-v2/h-event/justaname.json +0 -10
  272. data/vendor/tests/tests/microformats-v2/h-event/time.html +0 -47
  273. data/vendor/tests/tests/microformats-v2/h-event/time.json +0 -25
  274. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.html +0 -30
  275. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.json +0 -23
  276. data/vendor/tests/tests/microformats-v2/h-feed/simple.html +0 -26
  277. data/vendor/tests/tests/microformats-v2/h-feed/simple.json +0 -33
  278. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.html +0 -5
  279. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.json +0 -12
  280. data/vendor/tests/tests/microformats-v2/h-geo/altitude.html +0 -8
  281. data/vendor/tests/tests/microformats-v2/h-geo/altitude.json +0 -13
  282. data/vendor/tests/tests/microformats-v2/h-geo/change-log.html +0 -67
  283. data/vendor/tests/tests/microformats-v2/h-geo/hidden.html +0 -10
  284. data/vendor/tests/tests/microformats-v2/h-geo/hidden.json +0 -12
  285. data/vendor/tests/tests/microformats-v2/h-geo/justaname.html +0 -3
  286. data/vendor/tests/tests/microformats-v2/h-geo/justaname.json +0 -10
  287. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.html +0 -5
  288. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.json +0 -12
  289. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.html +0 -11
  290. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.json +0 -12
  291. data/vendor/tests/tests/microformats-v2/h-news/all.html +0 -35
  292. data/vendor/tests/tests/microformats-v2/h-news/all.json +0 -51
  293. data/vendor/tests/tests/microformats-v2/h-news/change-log.html +0 -78
  294. data/vendor/tests/tests/microformats-v2/h-news/minimum.html +0 -24
  295. data/vendor/tests/tests/microformats-v2/h-news/minimum.json +0 -40
  296. data/vendor/tests/tests/microformats-v2/h-org/change-log.html +0 -57
  297. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.html +0 -1
  298. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.json +0 -11
  299. data/vendor/tests/tests/microformats-v2/h-org/simple.html +0 -1
  300. data/vendor/tests/tests/microformats-v2/h-org/simple.json +0 -10
  301. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.html +0 -4
  302. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.json +0 -12
  303. data/vendor/tests/tests/microformats-v2/h-product/aggregate.html +0 -21
  304. data/vendor/tests/tests/microformats-v2/h-product/aggregate.json +0 -45
  305. data/vendor/tests/tests/microformats-v2/h-product/change-log.html +0 -62
  306. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.html +0 -1
  307. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.json +0 -11
  308. data/vendor/tests/tests/microformats-v2/h-product/justaname.html +0 -1
  309. data/vendor/tests/tests/microformats-v2/h-product/justaname.json +0 -10
  310. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.html +0 -10
  311. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.json +0 -26
  312. data/vendor/tests/tests/microformats-v2/h-recipe/all.html +0 -63
  313. data/vendor/tests/tests/microformats-v2/h-recipe/all.json +0 -54
  314. data/vendor/tests/tests/microformats-v2/h-recipe/change-log.html +0 -62
  315. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.html +0 -7
  316. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.json +0 -17
  317. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.html +0 -12
  318. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.json +0 -20
  319. data/vendor/tests/tests/microformats-v2/h-resume/change-log.html +0 -78
  320. data/vendor/tests/tests/microformats-v2/h-resume/contact.html +0 -17
  321. data/vendor/tests/tests/microformats-v2/h-resume/contact.json +0 -26
  322. data/vendor/tests/tests/microformats-v2/h-resume/education.html +0 -13
  323. data/vendor/tests/tests/microformats-v2/h-resume/education.json +0 -30
  324. data/vendor/tests/tests/microformats-v2/h-resume/justaname.html +0 -1
  325. data/vendor/tests/tests/microformats-v2/h-resume/justaname.json +0 -10
  326. data/vendor/tests/tests/microformats-v2/h-resume/skill.html +0 -12
  327. data/vendor/tests/tests/microformats-v2/h-resume/skill.json +0 -12
  328. data/vendor/tests/tests/microformats-v2/h-resume/work.html +0 -16
  329. data/vendor/tests/tests/microformats-v2/h-resume/work.json +0 -31
  330. data/vendor/tests/tests/microformats-v2/h-review-aggregate/change-log.html +0 -78
  331. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.html +0 -13
  332. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.json +0 -23
  333. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.html +0 -8
  334. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.json +0 -19
  335. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.html +0 -18
  336. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.json +0 -26
  337. data/vendor/tests/tests/microformats-v2/h-review/change-log.html +0 -84
  338. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.html +0 -1
  339. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.json +0 -11
  340. data/vendor/tests/tests/microformats-v2/h-review/implieditem.html +0 -4
  341. data/vendor/tests/tests/microformats-v2/h-review/implieditem.json +0 -19
  342. data/vendor/tests/tests/microformats-v2/h-review/item.html +0 -8
  343. data/vendor/tests/tests/microformats-v2/h-review/item.json +0 -20
  344. data/vendor/tests/tests/microformats-v2/h-review/justaname.html +0 -1
  345. data/vendor/tests/tests/microformats-v2/h-review/justaname.json +0 -10
  346. data/vendor/tests/tests/microformats-v2/h-review/photo.html +0 -1
  347. data/vendor/tests/tests/microformats-v2/h-review/photo.json +0 -11
  348. data/vendor/tests/tests/microformats-v2/h-review/vcard.html +0 -23
  349. data/vendor/tests/tests/microformats-v2/h-review/vcard.json +0 -48
  350. data/vendor/tests/tests/microformats-v2/rel/change-log.html +0 -67
  351. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.html +0 -10
  352. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.json +0 -75
  353. data/vendor/tests/tests/microformats-v2/rel/license.html +0 -1
  354. data/vendor/tests/tests/microformats-v2/rel/license.json +0 -12
  355. data/vendor/tests/tests/microformats-v2/rel/nofollow.html +0 -1
  356. data/vendor/tests/tests/microformats-v2/rel/nofollow.json +0 -12
  357. data/vendor/tests/tests/microformats-v2/rel/rel-urls.html +0 -8
  358. data/vendor/tests/tests/microformats-v2/rel/rel-urls.json +0 -33
  359. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.html +0 -4
  360. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.json +0 -20
  361. data/vendor/tests/tests/microformats-v2/rel/xfn-all.html +0 -19
  362. data/vendor/tests/tests/microformats-v2/rel/xfn-all.json +0 -92
  363. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.html +0 -10
  364. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.json +0 -40
@@ -1,11 +1,11 @@
1
1
  module Microformats
2
2
  class TimePropertyParser < ParserCore
3
-
4
- def parse(element, base: nil, element_type: , format_class_array: [], backcompat: nil)
3
+ def parse(element, base: nil, element_type:, format_class_array: [], backcompat: nil)
5
4
  @base = base
6
5
  @duration_value = nil
7
6
  @date_value = nil
8
7
  @time_value = nil
8
+ @tz_value = nil
9
9
 
10
10
  @property_type = element_type
11
11
 
@@ -14,33 +14,34 @@ module Microformats
14
14
 
15
15
  parse_value_class_pattern(element)
16
16
 
17
- if @duration_value.nil? and @time_value.nil? and @date_value.nil?
18
-
19
- value = nil
20
- if ['time', 'ins', 'del'].include? element.name and not element.attribute('datetime').nil?
21
- value = element.attribute('datetime').value.strip
22
- elsif element.name == 'abbr' and not element.attribute('title').nil?
23
- value = element.attribute('title').value.strip
24
- elsif (element.name == 'data' or element.name == 'input') and not element.attribute('value').nil?
25
- value = element.attribute('value').value.strip
26
- else
27
- value = element.text.strip
28
- end
17
+ if @duration_value.nil? && @time_value.nil? && @date_value.nil? && @tz_value.nil?
18
+ value =
19
+ if %w[time ins del].include?(element.name) && !element.attribute('datetime').nil?
20
+ element.attribute('datetime').value.strip
21
+ elsif element.name == 'abbr' && !element.attribute('title').nil?
22
+ element.attribute('title').value.strip
23
+ elsif (element.name == 'data' || element.name == 'input') && !element.attribute('value').nil?
24
+ element.attribute('value').value.strip
25
+ else
26
+ element.text.strip
27
+ end
29
28
 
30
29
  parse_dt(value)
31
-
32
30
  end
33
31
 
34
- if not @duration_value.nil?
32
+ if !@duration_value.nil?
35
33
  @duration_value
36
- elsif not @time_value.nil? and not @date_value.nil?
37
- @date_value + ' ' + @time_value
38
- elsif not @time_value.nil?
39
- @time_value
40
- elsif not @date_value.nil?
41
- @date_value
42
34
  else
43
- nil
35
+ result = nil
36
+ result = result.to_s + @date_value unless @date_value.nil?
37
+
38
+ unless @time_value.nil?
39
+ result = result.to_s + ' ' unless result.nil?
40
+ result = result.to_s + @time_value
41
+ end
42
+
43
+ result = result.to_s + @tz_value unless @tz_value.nil?
44
+ result
44
45
  end
45
46
  end
46
47
 
@@ -49,113 +50,138 @@ module Microformats
49
50
  end
50
51
 
51
52
  def parse_element(element)
52
-
53
- if @duration_value.nil? or (@time_value.nil? and @date_value.nil?)
53
+ if @duration_value.nil? || (@time_value.nil? && @date_value.nil? && @tz_value.nil?)
54
54
  if value_title_classes(element).length >= 1
55
- value = element.attribute('title').value.strip
55
+ value = element.attribute('title').value.strip
56
56
  elsif value_classes(element).length >= 1
57
- if element.name == 'img' or element.name == 'area' and not element.attribute('alt').nil?
58
- value = element.attribute('alt').value.strip
59
- elsif element.name == 'data' and not element.attribute('value').nil?
60
- value = element.attribute('value').value.strip
61
- elsif element.name == 'abbr' and not element.attribute('title').nil?
62
- value = element.attribute('title').value.strip
63
- elsif ['time', 'ins', 'del'].include? element.name and not element.attribute('datetime').nil?
64
- value = element.attribute('datetime').value.strip
65
- else
66
- value = element.text.strip
67
- end
57
+ value =
58
+ if element.name == 'img' || element.name == 'area' && !element.attribute('alt').nil?
59
+ element.attribute('alt').value.strip
60
+ elsif element.name == 'data' && !element.attribute('value').nil?
61
+ element.attribute('value').value.strip
62
+ elsif element.name == 'abbr' && !element.attribute('title').nil?
63
+ element.attribute('title').value.strip
64
+ elsif %w[time ins del].include?(element.name) && !element.attribute('datetime').nil?
65
+ element.attribute('datetime').value.strip
66
+ else
67
+ element.text.strip
68
+ end
68
69
  end
69
- parse_dt(value, normalize: true)
70
+
71
+ parse_dt(value, normalize: true)
70
72
 
71
73
  p_classes = property_classes(element)
72
74
  p_classes = backcompat_property_classes(element) if @mode_backcompat
73
- if p_classes.length == 0 and format_classes(element).length == 0
75
+
76
+ if p_classes.empty? && format_classes(element).empty?
74
77
  parse_node(element.children)
75
78
  end
76
79
  end
77
-
78
80
  end
79
81
 
80
82
  def parse_dt(data, normalize: false)
81
83
  # currently the value-class-pattern page lists to normalize and remove :'s but not regular parsing, seems very odd
82
84
  # https://github.com/microformats/tests/issues/29
83
85
  #
84
- #TODO this still allows a lot of non correct values such as 39th day of the month, etc
85
- begin
86
- case data.strip
87
- when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?([zZ]|[-+][01]?\d:?[0-5]\d)?)$/
88
- @date_value = $1 if @date_value.nil?
89
- @time_value = $2.gsub(/z/, 'Z') if @time_value.nil?
90
- when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)? ?[-+]\d\d)$/
91
- @date_value = $1 if @date_value.nil?
92
- @time_value = $2 if @time_value.nil?
93
- when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d:[0-5]\d ?[-+]\d\d):?(\d\d)$/
94
- @date_value = $1 if @date_value.nil?
95
- if normalize
96
- @time_value = $2 + $3 if @time_value.nil?
97
- else
98
- @time_value = $2 + ':' + $3 if @time_value.nil?
99
- end
100
- when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d)( ?[-+]\d\d:?\d\d)$/
101
- @date_value = $1 if @date_value.nil?
102
- if normalize
103
- @time_value = $2 + $3.gsub(/:/,'') if @time_value.nil?
104
- else
105
- @time_value = $2 + $3 if @time_value.nil?
106
- end
107
- when /^P\d*W$/
108
- @duration_value = data if @duration_value.nil?
86
+ # TODO: this still allows a lot of non correct values such as 39th day of the month, etc
87
+ case data.strip
88
+ when /^P\d*W$/
89
+ @duration_value = data if @duration_value.nil?
109
90
 
110
- when /^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$/
111
- @duration_value = data if @duration_value.nil?
91
+ when /^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$/
92
+ @duration_value = data if @duration_value.nil?
112
93
 
113
- when /^(\d{4})-([01]?\d)-([0-3]?\d)$/
114
- @date_value = DateTime.new($1.to_i, $2.to_i, $3.to_i).strftime('%F') if @date_value.nil?
94
+ when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?)?([zZ]|[-+][01]?\d:?[0-5]\d)?$/
95
+ @date_value = Regexp.last_match(1) if @date_value.nil?
96
+ @time_value = Regexp.last_match(2) if @time_value.nil?
97
+ @tz_value = Regexp.last_match(4).tr('z', 'Z') if @tz_value.nil?
115
98
 
116
- when /^(\d{4})-([0-3]\d{2})$/
117
- @date_value = data if @date_value.nil?
99
+ when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?)( ?[-+]\d\d:?(\d\d)?)$/
100
+ @date_value = Regexp.last_match(1) if @date_value.nil?
101
+ @time_value = Regexp.last_match(2) if @time_value.nil?
118
102
 
119
- when /^(\d{4})-([01]?\d)$/
120
- @date_value = data if @date_value.nil?
103
+ if normalize
104
+ @tz_value = Regexp.last_match(4).tr('z', 'Z').delete(':') if @tz_value.nil?
105
+ else
106
+ @tz_value = Regexp.last_match(4).tr('z', 'Z') if @tz_value.nil?
107
+ end
121
108
 
122
- when /^[0-2]\d:[0-5]\d(:[0-5]\d)?([zZ]|[-+][01]\d:?\d\d)?$/
123
- if normalize
124
- @time_value = data.gsub(/z/, 'Z').gsub(/([+-]\d\d):(\d\d)/, '\1\2') if @time_value.nil?
125
- else
126
- @time_value = data.gsub(/z/, 'Z') if @time_value.nil?
127
- end
109
+ when /^(\d{4}-[0-3]\d\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?)?([zZ]|[-+][01]?\d:?[0-5]\d)?$/
110
+ @date_value = Regexp.last_match(1) if @date_value.nil?
111
+ @time_value = Regexp.last_match(2) if @time_value.nil?
112
+ @tz_value = Regexp.last_match(4).tr('z', 'Z') if @tz_value.nil?
128
113
 
129
- when /^[0-2]\d:[0-5]\d[zZ]?$/
130
- @time_value = Time.parse(data).strftime('%H:%M') if @time_value.nil?
131
- when /^([0-2]\d:[0-5]\d:[0-5]\d[-+][01]\d:?[0-5]\d)$/
132
- Time.parse(data).strftime('%T') #to make sure this time doesn't throw an error
133
- @time_value = $1 if @time_value.nil?
134
-
135
- when /^([0-2][0-0]:[0-5]\d[-+][01]\d:?[0-5]\d)$/
136
- Time.parse(data).strftime('%H:%M') #to make sure this time doesn't throw an error
137
- @time_value = $1 if @time_value.nil?
138
-
139
- when /^([01]?\d):?([0-5]\d)?p\.?m\.?$/i
140
- @time_value = ($1.to_i + 12).to_s + ':' + $2.to_s.rjust(2,'0') if @time_value.nil?
141
- when /^([01]?\d):?([0-5]\d)?a\.?m\.?$/i
142
- @time_value = $1.to_s.rjust(2,'0') + ':' + $2.to_s.rjust(2,'0') if @time_value.nil?
143
- when /^([01]?\d):([0-5]\d):([0-5]\d)?p\.?m\.?$/i
144
- @time_value = ($1.to_i + 12).to_s + ':' + $2.to_s.rjust(2,'0') + ':'+ $3.to_s.rjust(2,'0') if @time_value.nil?
145
- when /^([01]?\d):([0-5]\d):([0-5]\d)?a\.?m\.?$/i
146
- @time_value = $1.to_s.rjust(2,'0') + ':' + $2.to_s.rjust(2,'0') + ':'+ $3.to_s.rjust(2,'0') if @time_value.nil?
114
+ when /^(\d{4}-[0-3]\d\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?)( ?[-+]\d\d:?(\d\d)?)$/
115
+ @date_value = Regexp.last_match(1) if @date_value.nil?
116
+ @time_value = Regexp.last_match(2) if @time_value.nil?
147
117
 
118
+ if normalize
119
+ @tz_value = Regexp.last_match(4).tr('z', 'Z').delete(':') if @tz_value.nil?
148
120
  else
149
- t = Time.parse(data)
150
- @time_value = t.strftime('%T') if @time_value.nil?
151
- @date_value = t.strftime('%F') if @date_value.nil?
121
+ @tz_value = Regexp.last_match(4).tr('z', 'Z') if @tz_value.nil?
152
122
  end
153
123
 
154
- rescue
155
- nil
156
- end
124
+ when /^(\d{4})-([01]?\d)-([0-3]?\d)$/
125
+ @date_value = DateTime.new(Regexp.last_match(1).to_i, Regexp.last_match(2).to_i, Regexp.last_match(3).to_i).strftime('%F') if @date_value.nil?
157
126
 
158
- end
127
+ when /^(\d{4})-([0-3]\d{2})$/
128
+ @date_value = data if @date_value.nil?
129
+
130
+ when /^(\d{4})-([01]?\d)$/
131
+ @date_value = data if @date_value.nil?
132
+
133
+ when /^([zZ]|[-+][01]?\d:?[0-5]\d)$/
134
+ if normalize
135
+ @tz_value = Regexp.last_match(1).tr('z', 'Z').delete(':') if @tz_value.nil?
136
+ else
137
+ @tz_value = Regexp.last_match(1).tr('z', 'Z') if @tz_value.nil?
138
+ end
139
+
140
+ when /^([0-2]\d:[0-5]\d(:[0-5]\d)?)([zZ]|[-+][01]\d:?\d\d)?$/
141
+ @time_value = Regexp.last_match(1) if @time_value.nil?
142
+
143
+ if normalize
144
+ @tz_value = Regexp.last_match(3).tr('z', 'Z').delete(':') if @tz_value.nil?
145
+ else
146
+ @tz_value = Regexp.last_match(3).tr('z', 'Z') if @tz_value.nil?
147
+ end
148
+
149
+ when /^[0-2]\d:[0-5]\d[zZ]?$/
150
+ @time_value = Time.parse(data).strftime('%H:%M') if @time_value.nil?
151
+ @tz_value = 'Z'
159
152
 
153
+ when /^([0-2]\d:[0-5]\d:[0-5]\d)([-+][01]\d:?[0-5]\d)$/
154
+ Time.parse(data).strftime('%T') # to make sure this time doesn't throw an error
155
+
156
+ @time_value = Regexp.last_match(1) if @time_value.nil?
157
+ @tz_value = Regexp.last_match(2) if @tz_value.nil?
158
+
159
+ when /^([0-2][0-0]:[0-5]\d)([-+][01]\d:?[0-5]\d)$/
160
+ Time.parse(data).strftime('%H:%M') # to make sure this time doesn't throw an error
161
+
162
+ @time_value = Regexp.last_match(1) if @time_value.nil?
163
+ @tz_value = Regexp.last_match(2) if @tz_value.nil?
164
+
165
+ when /^([01]?\d):?([0-5]\d)?p\.?m\.?$/i
166
+ @time_value = (Regexp.last_match(1).to_i + 12).to_s + ':' + Regexp.last_match(2).to_s.rjust(2, '0') if @time_value.nil?
167
+
168
+ when /^([01]?\d):?([0-5]\d)?a\.?m\.?$/i
169
+ @time_value = Regexp.last_match(1).to_s.rjust(2, '0') + ':' + Regexp.last_match(2).to_s.rjust(2, '0') if @time_value.nil?
170
+
171
+ when /^([01]?\d):([0-5]\d):([0-5]\d)?p\.?m\.?$/i
172
+ @time_value = (Regexp.last_match(1).to_i + 12).to_s + ':' + Regexp.last_match(2).to_s.rjust(2, '0') + ':' + Regexp.last_match(3).to_s.rjust(2, '0') if @time_value.nil?
173
+
174
+ when /^([01]?\d):([0-5]\d):([0-5]\d)?a\.?m\.?$/i
175
+ @time_value = Regexp.last_match(1).to_s.rjust(2, '0') + ':' + Regexp.last_match(2).to_s.rjust(2, '0') + ':' + Regexp.last_match(3).to_s.rjust(2, '0') if @time_value.nil?
176
+
177
+ else
178
+ t = Time.parse(data)
179
+
180
+ @time_value = t.strftime('%T') if @time_value.nil?
181
+ @date_value = t.strftime('%F') if @date_value.nil?
182
+ end
183
+ rescue
184
+ nil
185
+ end
160
186
  end
161
187
  end
@@ -1,3 +1,3 @@
1
1
  module Microformats
2
- VERSION = "4.0.6"
2
+ VERSION = '4.2.1'.freeze
3
3
  end
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="50px" height="49px" viewBox="0 0 50 49" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Microformats Logo : Ruby Parser Edition</title>
5
+ <desc>Red version of the Microformats logo to use with Ruby projects.</desc>
6
+ <defs>
7
+ <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
8
+ <stop stop-color="#F5515F" offset="0%"></stop>
9
+ <stop stop-color="#9F041B" offset="100%"></stop>
10
+ </linearGradient>
11
+ <linearGradient x1="0%" y1="0%" x2="100%" y2="100%" id="linearGradient-2">
12
+ <stop stop-color="#F5515F" offset="0%"></stop>
13
+ <stop stop-color="#9F041B" offset="100%"></stop>
14
+ </linearGradient>
15
+ </defs>
16
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
17
+ <g id="Group" transform="translate(1.000000, 1.000000)" fill-rule="nonzero" stroke="#FFFFFF" stroke-width="2">
18
+ <path d="M0,15.8228344 C0,11.303949 3.29570093,7.99 7.79214953,7.99 L31.3241121,7.99 C35.8204112,7.99 39.1161121,11.303949 39.1161121,15.8228344 L39.1161121,39.1671656 C39.1161121,43.6859013 35.8204112,47 31.3241121,47 L7.79214953,47 C3.29570093,47 0,43.6859013 0,39.1671656 L0,15.8228344 Z" id="Shape" fill="url(#linearGradient-1)"></path>
19
+ <path d="M13.2471028,8.29684713 C13.2471028,4.68503185 15.8863551,2.03716561 19.4871028,2.03716561 L38.331215,2.03716561 C41.9319626,2.03716561 44.571215,4.68503185 44.571215,8.29684713 L44.571215,26.9531529 C44.571215,30.5649682 41.9319626,33.2128344 38.331215,33.2128344 L19.4871028,33.2128344 C15.8863551,33.2128344 13.2471028,30.5649682 13.2471028,26.9531529 L13.2471028,8.29684713 Z" id="Shape" fill="url(#linearGradient-2)"></path>
20
+ <path d="M26.6498692,4.24646497 C26.6498692,1.79617834 28.4485981,0 30.9024299,0 L43.7472897,0 C46.201271,0 48,1.79617834 48,4.24646497 L48,16.903535 C48,19.3538217 46.201271,21.15 43.7474393,21.15 L30.9025794,21.15 C28.4487477,21.15 26.6500187,19.3538217 26.6500187,16.903535 L26.6500187,4.24646497 L26.6498692,4.24646497 Z" id="Shape" fill="url(#linearGradient-2)"></path>
21
+ </g>
22
+ </g>
23
+ </svg>
@@ -1,37 +1,39 @@
1
- # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'microformats/version'
5
-
6
- Gem::Specification.new do |gem|
7
- gem.name = "microformats"
8
- gem.version = Microformats::VERSION
9
- gem.authors = ["Shane Becker", "Jessica Lynn Suttles", "Ben Roberts"]
10
- gem.email = ["veganstraightedge@gmail.com", "jlsuttles@gmail.com", "ben@thatmustbe.me"]
11
- gem.description = %q{A Ruby gem to parse HTML containing one or more microformats and microformats2 and return a collection of dynamically defined Ruby objects, a Ruby hash or a JSON hash.}
12
- gem.summary = %q{Microformats and microformats2 parser}
13
- gem.homepage = "https://github.com/indieweb/microformats-ruby"
14
-
15
- gem.files = `git ls-files`.split($/)
16
- gem.executables = ['microformats']
17
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
19
-
20
- gem.post_install_message = %q{
21
3
 
22
- Previously called "microformats2" (on version 3.1 and below).
23
-
24
- }
25
-
26
- gem.required_ruby_version = ">= 2.0"
27
-
28
- gem.add_runtime_dependency "nokogiri"
29
- gem.add_runtime_dependency "json"
4
+ require 'microformats/version'
30
5
 
31
- gem.add_development_dependency "rake"
32
- gem.add_development_dependency "rspec"
33
- gem.add_development_dependency "guard-rspec"
34
- gem.add_development_dependency "rb-fsevent"
35
- gem.add_development_dependency "simplecov"
36
- gem.add_development_dependency "webmock"
6
+ Gem::Specification.new do |spec|
7
+ spec.required_ruby_version = ['>= 2.4', '< 2.8']
8
+
9
+ spec.name = 'microformats'
10
+ spec.version = Microformats::VERSION
11
+ spec.authors = ['Shane Becker', 'Jessica Lynn Suttles', 'Ben Roberts']
12
+ spec.email = ['veganstraightedge@gmail.com', 'jlsuttles@gmail.com', 'ben@thatmustbe.me']
13
+
14
+ spec.summary = 'Microformats2 and classic microformats parser'
15
+ spec.description = 'A Ruby gem to parse HTML containing microformats2 and classic microformats that returns a collection of dynamically defined Ruby objects, a Ruby hash, or a JSON hash.'
16
+ spec.homepage = 'https://github.com/microformats/microformats-ruby'
17
+ spec.license = 'CC0-1.0'
18
+
19
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec|vendor)/}) }
20
+ spec.bindir = 'bin'
21
+ spec.executables = ['microformats']
22
+ spec.require_paths = ['lib']
23
+
24
+ spec.post_install_message = 'Prior to version 4.0.0, the microformats gem was named "microformats2."'
25
+
26
+ spec.add_development_dependency 'bundler', '>= 1.16.2', '< 2.2'
27
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
28
+ spec.add_development_dependency 'rake', '~> 12.3'
29
+ spec.add_development_dependency 'rb-fsevent', '~> 0.10.3'
30
+ spec.add_development_dependency 'rspec', '~> 3.8'
31
+ spec.add_development_dependency 'rubocop', '~> 0.74.0'
32
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.35'
33
+ spec.add_development_dependency 'simplecov', '~> 0.17.0'
34
+ spec.add_development_dependency 'simplecov-console', '~> 0.5.0'
35
+ spec.add_development_dependency 'webmock', '~> 3.6'
36
+
37
+ spec.add_runtime_dependency 'json', '~> 2.2'
38
+ spec.add_runtime_dependency 'nokogiri', '~> 1.10'
37
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: microformats
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.6
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Becker
@@ -10,123 +10,185 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-05-24 00:00:00.000000000 Z
13
+ date: 2020-08-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: nokogiri
16
+ name: bundler
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
21
+ version: 1.16.2
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: '2.2'
25
+ type: :development
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  requirements:
26
29
  - - ">="
27
30
  - !ruby/object:Gem::Version
28
- version: '0'
31
+ version: 1.16.2
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '2.2'
29
35
  - !ruby/object:Gem::Dependency
30
- name: json
36
+ name: guard-rspec
31
37
  requirement: !ruby/object:Gem::Requirement
32
38
  requirements:
33
- - - ">="
39
+ - - "~>"
34
40
  - !ruby/object:Gem::Version
35
- version: '0'
36
- type: :runtime
41
+ version: '4.7'
42
+ type: :development
37
43
  prerelease: false
38
44
  version_requirements: !ruby/object:Gem::Requirement
39
45
  requirements:
40
- - - ">="
46
+ - - "~>"
41
47
  - !ruby/object:Gem::Version
42
- version: '0'
48
+ version: '4.7'
43
49
  - !ruby/object:Gem::Dependency
44
50
  name: rake
45
51
  requirement: !ruby/object:Gem::Requirement
46
52
  requirements:
47
- - - ">="
53
+ - - "~>"
48
54
  - !ruby/object:Gem::Version
49
- version: '0'
55
+ version: '12.3'
50
56
  type: :development
51
57
  prerelease: false
52
58
  version_requirements: !ruby/object:Gem::Requirement
53
59
  requirements:
54
- - - ">="
60
+ - - "~>"
55
61
  - !ruby/object:Gem::Version
56
- version: '0'
62
+ version: '12.3'
63
+ - !ruby/object:Gem::Dependency
64
+ name: rb-fsevent
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 0.10.3
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 0.10.3
57
77
  - !ruby/object:Gem::Dependency
58
78
  name: rspec
59
79
  requirement: !ruby/object:Gem::Requirement
60
80
  requirements:
61
- - - ">="
81
+ - - "~>"
62
82
  - !ruby/object:Gem::Version
63
- version: '0'
83
+ version: '3.8'
64
84
  type: :development
65
85
  prerelease: false
66
86
  version_requirements: !ruby/object:Gem::Requirement
67
87
  requirements:
68
- - - ">="
88
+ - - "~>"
69
89
  - !ruby/object:Gem::Version
70
- version: '0'
90
+ version: '3.8'
71
91
  - !ruby/object:Gem::Dependency
72
- name: guard-rspec
92
+ name: rubocop
73
93
  requirement: !ruby/object:Gem::Requirement
74
94
  requirements:
75
- - - ">="
95
+ - - "~>"
76
96
  - !ruby/object:Gem::Version
77
- version: '0'
97
+ version: 0.74.0
78
98
  type: :development
79
99
  prerelease: false
80
100
  version_requirements: !ruby/object:Gem::Requirement
81
101
  requirements:
82
- - - ">="
102
+ - - "~>"
83
103
  - !ruby/object:Gem::Version
84
- version: '0'
104
+ version: 0.74.0
85
105
  - !ruby/object:Gem::Dependency
86
- name: rb-fsevent
106
+ name: rubocop-rspec
87
107
  requirement: !ruby/object:Gem::Requirement
88
108
  requirements:
89
- - - ">="
109
+ - - "~>"
90
110
  - !ruby/object:Gem::Version
91
- version: '0'
111
+ version: '1.35'
92
112
  type: :development
93
113
  prerelease: false
94
114
  version_requirements: !ruby/object:Gem::Requirement
95
115
  requirements:
96
- - - ">="
116
+ - - "~>"
97
117
  - !ruby/object:Gem::Version
98
- version: '0'
118
+ version: '1.35'
99
119
  - !ruby/object:Gem::Dependency
100
120
  name: simplecov
101
121
  requirement: !ruby/object:Gem::Requirement
102
122
  requirements:
103
- - - ">="
123
+ - - "~>"
104
124
  - !ruby/object:Gem::Version
105
- version: '0'
125
+ version: 0.17.0
106
126
  type: :development
107
127
  prerelease: false
108
128
  version_requirements: !ruby/object:Gem::Requirement
109
129
  requirements:
110
- - - ">="
130
+ - - "~>"
111
131
  - !ruby/object:Gem::Version
112
- version: '0'
132
+ version: 0.17.0
133
+ - !ruby/object:Gem::Dependency
134
+ name: simplecov-console
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 0.5.0
140
+ type: :development
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 0.5.0
113
147
  - !ruby/object:Gem::Dependency
114
148
  name: webmock
115
149
  requirement: !ruby/object:Gem::Requirement
116
150
  requirements:
117
- - - ">="
151
+ - - "~>"
118
152
  - !ruby/object:Gem::Version
119
- version: '0'
153
+ version: '3.6'
120
154
  type: :development
121
155
  prerelease: false
122
156
  version_requirements: !ruby/object:Gem::Requirement
123
157
  requirements:
124
- - - ">="
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '3.6'
161
+ - !ruby/object:Gem::Dependency
162
+ name: json
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
125
166
  - !ruby/object:Gem::Version
126
- version: '0'
127
- description: A Ruby gem to parse HTML containing one or more microformats and microformats2
128
- and return a collection of dynamically defined Ruby objects, a Ruby hash or a JSON
129
- hash.
167
+ version: '2.2'
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: '2.2'
175
+ - !ruby/object:Gem::Dependency
176
+ name: nokogiri
177
+ requirement: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '1.10'
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: '1.10'
189
+ description: A Ruby gem to parse HTML containing microformats2 and classic microformats
190
+ that returns a collection of dynamically defined Ruby objects, a Ruby hash, or a
191
+ JSON hash.
130
192
  email:
131
193
  - veganstraightedge@gmail.com
132
194
  - jlsuttles@gmail.com
@@ -136,12 +198,18 @@ executables:
136
198
  extensions: []
137
199
  extra_rdoc_files: []
138
200
  files:
201
+ - ".editorconfig"
139
202
  - ".gitignore"
140
203
  - ".rspec"
204
+ - ".rubocop"
205
+ - ".rubocop.yml"
206
+ - ".ruby-version"
207
+ - ".simplecov"
141
208
  - ".travis.yml"
209
+ - CONTRIBUTING.md
142
210
  - Gemfile
143
211
  - Guardfile
144
- - LICENSE.md
212
+ - LICENSE
145
213
  - README.md
146
214
  - Rakefile
147
215
  - bin/microformats
@@ -156,349 +224,13 @@ files:
156
224
  - lib/microformats/results/property_set.rb
157
225
  - lib/microformats/time_property_parser.rb
158
226
  - lib/microformats/version.rb
227
+ - logo.svg
159
228
  - microformats.gemspec
160
- - spec/lib/microformats/absolute_uri_spec.rb
161
- - spec/lib/microformats/parser_spec.rb
162
- - spec/lib/microformats_spec.rb
163
- - spec/spec_helper.rb
164
- - spec/support/cases/microformats.org/microformats-2/microformats-2-0.html
165
- - spec/support/cases/microformats.org/microformats-2/microformats-2-0.js
166
- - spec/support/cases/microformats.org/microformats-2/microformats-2-1.html
167
- - spec/support/cases/microformats.org/microformats-2/microformats-2-1.js
168
- - spec/support/cases/microformats.org/microformats-2/microformats-2-2.html
169
- - spec/support/cases/microformats.org/microformats-2/microformats-2-2.js
170
- - spec/support/cases/microformats.org/microformats-2/microformats-2-3.html
171
- - spec/support/cases/microformats.org/microformats-2/microformats-2-3.js
172
- - spec/support/cases/microformats.org/microformats-2/microformats-2-4.html
173
- - spec/support/cases/microformats.org/microformats-2/microformats-2-4.js
174
- - spec/support/cases/microformats.org/microformats-2/microformats-2-5.html
175
- - spec/support/cases/microformats.org/microformats-2/microformats-2-5.js
176
- - spec/support/cases/microformats.org/microformats-2/microformats-2-6.html
177
- - spec/support/cases/microformats.org/microformats-2/microformats-2-6.js
178
- - spec/support/cases/microformats.org/microformats-2/microformats-2-7.html
179
- - spec/support/cases/microformats.org/microformats-2/microformats-2-7.js
180
- - spec/support/cases/microformats.org/microformats-2/microformats-2-8.html
181
- - spec/support/cases/microformats.org/microformats-2/microformats-2-8.js
182
- - spec/support/cases/microformats.org/microformats-2/microformats-2-9.html
183
- - spec/support/cases/microformats.org/microformats-2/microformats-2-9.js
184
- - spec/support/lib/edge_cases/blank_href.html
185
- - spec/support/lib/edge_cases/blank_href.js
186
- - spec/support/lib/edge_cases/blank_rel.html
187
- - spec/support/lib/edge_cases/blank_rel.js
188
- - spec/support/lib/edge_cases/blank_src.html
189
- - spec/support/lib/edge_cases/blank_src.js
190
- - spec/support/lib/edge_cases/blank_value.html
191
- - spec/support/lib/edge_cases/blank_value.js
192
- - spec/support/lib/edge_cases/relative.html
193
- - spec/support/lib/edge_cases/relative.js
194
- - spec/support/lib/microformats/blank_href.html
195
- - spec/support/lib/microformats/blank_href.js
196
- - spec/support/lib/microformats/implied_property/name-fail.html
197
- - spec/support/lib/microformats/implied_property/name-pass.html
198
- - spec/support/lib/microformats/implied_property/photo-fail.html
199
- - spec/support/lib/microformats/implied_property/photo-pass.html
200
- - spec/support/lib/microformats/implied_property/url-fail.html
201
- - spec/support/lib/microformats/implied_property/url-pass.html
202
- - spec/support/lib/microformats/implied_property/url-relative.html
203
- - spec/support/lib/microformats/implied_property/url-unnormalized.html
204
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.html
205
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.js
206
- - spec/support/lib/microformats/nested-format-with-property.html
207
- - spec/support/lib/microformats/nested-format-with-property.js
208
- - spec/support/lib/microformats/nested-format-without-property.html
209
- - spec/support/lib/microformats/nested-property.html
210
- - spec/support/lib/microformats/nested-property.js
211
- - spec/support/lib/microformats/rels-that-drop-the-base.html
212
- - spec/support/lib/microformats/rels-with-unnormalized-urls.html
213
- - spec/support/lib/microformats/rels.html
214
- - spec/support/lib/microformats/rels.js
215
- - spec/support/lib/microformats/simple.html
216
- - spec/support/lib/microformats/simple.js
217
- - vendor/tests/.gitignore
218
- - vendor/tests/LICENSE.md
219
- - vendor/tests/README.md
220
- - vendor/tests/app.js
221
- - vendor/tests/composer.json
222
- - vendor/tests/css/testsuite.css
223
- - vendor/tests/interface.js
224
- - vendor/tests/package.json
225
- - vendor/tests/tests/microformats-mixed/h-card/change-log.html
226
- - vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.html
227
- - vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.json
228
- - vendor/tests/tests/microformats-mixed/h-card/tworoots.html
229
- - vendor/tests/tests/microformats-mixed/h-card/tworoots.json
230
- - vendor/tests/tests/microformats-mixed/h-entry/mixedroots.html
231
- - vendor/tests/tests/microformats-mixed/h-entry/mixedroots.json
232
- - vendor/tests/tests/microformats-mixed/h-resume/change-log.html
233
- - vendor/tests/tests/microformats-mixed/h-resume/mixedroots.html
234
- - vendor/tests/tests/microformats-mixed/h-resume/mixedroots.json
235
- - vendor/tests/tests/microformats-v1/adr/change-log.html
236
- - vendor/tests/tests/microformats-v1/adr/simpleproperties.html
237
- - vendor/tests/tests/microformats-v1/adr/simpleproperties.json
238
- - vendor/tests/tests/microformats-v1/geo/abbrpattern.html
239
- - vendor/tests/tests/microformats-v1/geo/abbrpattern.json
240
- - vendor/tests/tests/microformats-v1/geo/change-log.1.html
241
- - vendor/tests/tests/microformats-v1/geo/change-log.html
242
- - vendor/tests/tests/microformats-v1/geo/hidden.html
243
- - vendor/tests/tests/microformats-v1/geo/hidden.json
244
- - vendor/tests/tests/microformats-v1/geo/simpleproperties.html
245
- - vendor/tests/tests/microformats-v1/geo/simpleproperties.json
246
- - vendor/tests/tests/microformats-v1/geo/valuetitleclass.html
247
- - vendor/tests/tests/microformats-v1/geo/valuetitleclass.json
248
- - vendor/tests/tests/microformats-v1/hcalendar/ampm.html
249
- - vendor/tests/tests/microformats-v1/hcalendar/ampm.json
250
- - vendor/tests/tests/microformats-v1/hcalendar/attendees.html
251
- - vendor/tests/tests/microformats-v1/hcalendar/attendees.json
252
- - vendor/tests/tests/microformats-v1/hcalendar/change-log.html
253
- - vendor/tests/tests/microformats-v1/hcalendar/combining.html
254
- - vendor/tests/tests/microformats-v1/hcalendar/combining.json
255
- - vendor/tests/tests/microformats-v1/hcalendar/concatenate.html
256
- - vendor/tests/tests/microformats-v1/hcalendar/concatenate.json
257
- - vendor/tests/tests/microformats-v1/hcalendar/time.html
258
- - vendor/tests/tests/microformats-v1/hcalendar/time.json
259
- - vendor/tests/tests/microformats-v1/hcard/change-log.html
260
- - vendor/tests/tests/microformats-v1/hcard/email.html
261
- - vendor/tests/tests/microformats-v1/hcard/email.json
262
- - vendor/tests/tests/microformats-v1/hcard/format.html
263
- - vendor/tests/tests/microformats-v1/hcard/format.json
264
- - vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.html
265
- - vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.json
266
- - vendor/tests/tests/microformats-v1/hcard/justahyperlink.html
267
- - vendor/tests/tests/microformats-v1/hcard/justahyperlink.json
268
- - vendor/tests/tests/microformats-v1/hcard/justaname.html
269
- - vendor/tests/tests/microformats-v1/hcard/justaname.json
270
- - vendor/tests/tests/microformats-v1/hcard/multiple.html
271
- - vendor/tests/tests/microformats-v1/hcard/multiple.json
272
- - vendor/tests/tests/microformats-v1/hcard/name.html
273
- - vendor/tests/tests/microformats-v1/hcard/name.json
274
- - vendor/tests/tests/microformats-v1/hcard/single.html
275
- - vendor/tests/tests/microformats-v1/hcard/single.json
276
- - vendor/tests/tests/microformats-v1/hentry/change-log.html
277
- - vendor/tests/tests/microformats-v1/hentry/summarycontent.html
278
- - vendor/tests/tests/microformats-v1/hentry/summarycontent.json
279
- - vendor/tests/tests/microformats-v1/hfeed/simple.html
280
- - vendor/tests/tests/microformats-v1/hfeed/simple.json
281
- - vendor/tests/tests/microformats-v1/hnews/all.html
282
- - vendor/tests/tests/microformats-v1/hnews/all.json
283
- - vendor/tests/tests/microformats-v1/hnews/change-log.html
284
- - vendor/tests/tests/microformats-v1/hnews/minimum.html
285
- - vendor/tests/tests/microformats-v1/hnews/minimum.json
286
- - vendor/tests/tests/microformats-v1/hproduct/aggregate.html
287
- - vendor/tests/tests/microformats-v1/hproduct/aggregate.json
288
- - vendor/tests/tests/microformats-v1/hproduct/change-log.html
289
- - vendor/tests/tests/microformats-v1/hproduct/simpleproperties.html
290
- - vendor/tests/tests/microformats-v1/hproduct/simpleproperties.json
291
- - vendor/tests/tests/microformats-v1/hresume/affiliation.html
292
- - vendor/tests/tests/microformats-v1/hresume/affiliation.json
293
- - vendor/tests/tests/microformats-v1/hresume/change-log.html
294
- - vendor/tests/tests/microformats-v1/hresume/contact.html
295
- - vendor/tests/tests/microformats-v1/hresume/contact.json
296
- - vendor/tests/tests/microformats-v1/hresume/education.html
297
- - vendor/tests/tests/microformats-v1/hresume/education.json
298
- - vendor/tests/tests/microformats-v1/hresume/skill.html
299
- - vendor/tests/tests/microformats-v1/hresume/skill.json
300
- - vendor/tests/tests/microformats-v1/hresume/work.html
301
- - vendor/tests/tests/microformats-v1/hresume/work.json
302
- - vendor/tests/tests/microformats-v1/hreview-aggregate/change-log.html
303
- - vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.html
304
- - vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.json
305
- - vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.html
306
- - vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.json
307
- - vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.html
308
- - vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.json
309
- - vendor/tests/tests/microformats-v1/hreview/change-log.html
310
- - vendor/tests/tests/microformats-v1/hreview/item.html
311
- - vendor/tests/tests/microformats-v1/hreview/item.json
312
- - vendor/tests/tests/microformats-v1/hreview/vcard.html
313
- - vendor/tests/tests/microformats-v1/hreview/vcard.json
314
- - vendor/tests/tests/microformats-v1/includes/change-log.html
315
- - vendor/tests/tests/microformats-v1/includes/hcarditemref.html
316
- - vendor/tests/tests/microformats-v1/includes/hcarditemref.json
317
- - vendor/tests/tests/microformats-v1/includes/heventitemref.html
318
- - vendor/tests/tests/microformats-v1/includes/heventitemref.json
319
- - vendor/tests/tests/microformats-v1/includes/hyperlink.html
320
- - vendor/tests/tests/microformats-v1/includes/hyperlink.json
321
- - vendor/tests/tests/microformats-v1/includes/object.html
322
- - vendor/tests/tests/microformats-v1/includes/object.json
323
- - vendor/tests/tests/microformats-v1/includes/table.html
324
- - vendor/tests/tests/microformats-v1/includes/table.json
325
- - vendor/tests/tests/microformats-v2/h-adr/change-log.html
326
- - vendor/tests/tests/microformats-v2/h-adr/geo.html
327
- - vendor/tests/tests/microformats-v2/h-adr/geo.json
328
- - vendor/tests/tests/microformats-v2/h-adr/geourl.html
329
- - vendor/tests/tests/microformats-v2/h-adr/geourl.json
330
- - vendor/tests/tests/microformats-v2/h-adr/justaname.html
331
- - vendor/tests/tests/microformats-v2/h-adr/justaname.json
332
- - vendor/tests/tests/microformats-v2/h-adr/lettercase.html
333
- - vendor/tests/tests/microformats-v2/h-adr/lettercase.json
334
- - vendor/tests/tests/microformats-v2/h-adr/simpleproperties.html
335
- - vendor/tests/tests/microformats-v2/h-adr/simpleproperties.json
336
- - vendor/tests/tests/microformats-v2/h-as-note/note.html
337
- - vendor/tests/tests/microformats-v2/h-as-note/note.json
338
- - vendor/tests/tests/microformats-v2/h-card/baseurl.html
339
- - vendor/tests/tests/microformats-v2/h-card/baseurl.json
340
- - vendor/tests/tests/microformats-v2/h-card/change-log.html
341
- - vendor/tests/tests/microformats-v2/h-card/childimplied.html
342
- - vendor/tests/tests/microformats-v2/h-card/childimplied.json
343
- - vendor/tests/tests/microformats-v2/h-card/extendeddescription.html
344
- - vendor/tests/tests/microformats-v2/h-card/extendeddescription.json
345
- - vendor/tests/tests/microformats-v2/h-card/hcard.html
346
- - vendor/tests/tests/microformats-v2/h-card/hcard.json
347
- - vendor/tests/tests/microformats-v2/h-card/horghcard.html
348
- - vendor/tests/tests/microformats-v2/h-card/horghcard.json
349
- - vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.html
350
- - vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.json
351
- - vendor/tests/tests/microformats-v2/h-card/impliedname.html
352
- - vendor/tests/tests/microformats-v2/h-card/impliedname.json
353
- - vendor/tests/tests/microformats-v2/h-card/impliedphoto.html
354
- - vendor/tests/tests/microformats-v2/h-card/impliedphoto.json
355
- - vendor/tests/tests/microformats-v2/h-card/impliedurl.html
356
- - vendor/tests/tests/microformats-v2/h-card/impliedurl.json
357
- - vendor/tests/tests/microformats-v2/h-card/justahyperlink.html
358
- - vendor/tests/tests/microformats-v2/h-card/justahyperlink.json
359
- - vendor/tests/tests/microformats-v2/h-card/justaname.html
360
- - vendor/tests/tests/microformats-v2/h-card/justaname.json
361
- - vendor/tests/tests/microformats-v2/h-card/nested.html
362
- - vendor/tests/tests/microformats-v2/h-card/nested.json
363
- - vendor/tests/tests/microformats-v2/h-card/p-property.html
364
- - vendor/tests/tests/microformats-v2/h-card/p-property.json
365
- - vendor/tests/tests/microformats-v2/h-card/relativeurls.html
366
- - vendor/tests/tests/microformats-v2/h-card/relativeurls.json
367
- - vendor/tests/tests/microformats-v2/h-entry/change-log.html
368
- - vendor/tests/tests/microformats-v2/h-entry/encoding.html
369
- - vendor/tests/tests/microformats-v2/h-entry/encoding.json
370
- - vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.html
371
- - vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.json
372
- - vendor/tests/tests/microformats-v2/h-entry/justahyperlink.html
373
- - vendor/tests/tests/microformats-v2/h-entry/justahyperlink.json
374
- - vendor/tests/tests/microformats-v2/h-entry/justaname.html
375
- - vendor/tests/tests/microformats-v2/h-entry/justaname.json
376
- - vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.html
377
- - vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.json
378
- - vendor/tests/tests/microformats-v2/h-entry/summarycontent.html
379
- - vendor/tests/tests/microformats-v2/h-entry/summarycontent.json
380
- - vendor/tests/tests/microformats-v2/h-entry/u-property.html
381
- - vendor/tests/tests/microformats-v2/h-entry/u-property.json
382
- - vendor/tests/tests/microformats-v2/h-entry/urlincontent.html
383
- - vendor/tests/tests/microformats-v2/h-entry/urlincontent.json
384
- - vendor/tests/tests/microformats-v2/h-event/ampm.html
385
- - vendor/tests/tests/microformats-v2/h-event/ampm.json
386
- - vendor/tests/tests/microformats-v2/h-event/attendees.html
387
- - vendor/tests/tests/microformats-v2/h-event/attendees.json
388
- - vendor/tests/tests/microformats-v2/h-event/change-log.html
389
- - vendor/tests/tests/microformats-v2/h-event/combining.html
390
- - vendor/tests/tests/microformats-v2/h-event/combining.json
391
- - vendor/tests/tests/microformats-v2/h-event/concatenate.html
392
- - vendor/tests/tests/microformats-v2/h-event/concatenate.json
393
- - vendor/tests/tests/microformats-v2/h-event/dates.html
394
- - vendor/tests/tests/microformats-v2/h-event/dates.json
395
- - vendor/tests/tests/microformats-v2/h-event/dt-property.html
396
- - vendor/tests/tests/microformats-v2/h-event/dt-property.json
397
- - vendor/tests/tests/microformats-v2/h-event/justahyperlink.html
398
- - vendor/tests/tests/microformats-v2/h-event/justahyperlink.json
399
- - vendor/tests/tests/microformats-v2/h-event/justaname.html
400
- - vendor/tests/tests/microformats-v2/h-event/justaname.json
401
- - vendor/tests/tests/microformats-v2/h-event/time.html
402
- - vendor/tests/tests/microformats-v2/h-event/time.json
403
- - vendor/tests/tests/microformats-v2/h-feed/implied-title.html
404
- - vendor/tests/tests/microformats-v2/h-feed/implied-title.json
405
- - vendor/tests/tests/microformats-v2/h-feed/simple.html
406
- - vendor/tests/tests/microformats-v2/h-feed/simple.json
407
- - vendor/tests/tests/microformats-v2/h-geo/abbrpattern.html
408
- - vendor/tests/tests/microformats-v2/h-geo/abbrpattern.json
409
- - vendor/tests/tests/microformats-v2/h-geo/altitude.html
410
- - vendor/tests/tests/microformats-v2/h-geo/altitude.json
411
- - vendor/tests/tests/microformats-v2/h-geo/change-log.html
412
- - vendor/tests/tests/microformats-v2/h-geo/hidden.html
413
- - vendor/tests/tests/microformats-v2/h-geo/hidden.json
414
- - vendor/tests/tests/microformats-v2/h-geo/justaname.html
415
- - vendor/tests/tests/microformats-v2/h-geo/justaname.json
416
- - vendor/tests/tests/microformats-v2/h-geo/simpleproperties.html
417
- - vendor/tests/tests/microformats-v2/h-geo/simpleproperties.json
418
- - vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.html
419
- - vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.json
420
- - vendor/tests/tests/microformats-v2/h-news/all.html
421
- - vendor/tests/tests/microformats-v2/h-news/all.json
422
- - vendor/tests/tests/microformats-v2/h-news/change-log.html
423
- - vendor/tests/tests/microformats-v2/h-news/minimum.html
424
- - vendor/tests/tests/microformats-v2/h-news/minimum.json
425
- - vendor/tests/tests/microformats-v2/h-org/change-log.html
426
- - vendor/tests/tests/microformats-v2/h-org/hyperlink.html
427
- - vendor/tests/tests/microformats-v2/h-org/hyperlink.json
428
- - vendor/tests/tests/microformats-v2/h-org/simple.html
429
- - vendor/tests/tests/microformats-v2/h-org/simple.json
430
- - vendor/tests/tests/microformats-v2/h-org/simpleproperties.html
431
- - vendor/tests/tests/microformats-v2/h-org/simpleproperties.json
432
- - vendor/tests/tests/microformats-v2/h-product/aggregate.html
433
- - vendor/tests/tests/microformats-v2/h-product/aggregate.json
434
- - vendor/tests/tests/microformats-v2/h-product/change-log.html
435
- - vendor/tests/tests/microformats-v2/h-product/justahyperlink.html
436
- - vendor/tests/tests/microformats-v2/h-product/justahyperlink.json
437
- - vendor/tests/tests/microformats-v2/h-product/justaname.html
438
- - vendor/tests/tests/microformats-v2/h-product/justaname.json
439
- - vendor/tests/tests/microformats-v2/h-product/simpleproperties.html
440
- - vendor/tests/tests/microformats-v2/h-product/simpleproperties.json
441
- - vendor/tests/tests/microformats-v2/h-recipe/all.html
442
- - vendor/tests/tests/microformats-v2/h-recipe/all.json
443
- - vendor/tests/tests/microformats-v2/h-recipe/change-log.html
444
- - vendor/tests/tests/microformats-v2/h-recipe/minimum.html
445
- - vendor/tests/tests/microformats-v2/h-recipe/minimum.json
446
- - vendor/tests/tests/microformats-v2/h-resume/affiliation.html
447
- - vendor/tests/tests/microformats-v2/h-resume/affiliation.json
448
- - vendor/tests/tests/microformats-v2/h-resume/change-log.html
449
- - vendor/tests/tests/microformats-v2/h-resume/contact.html
450
- - vendor/tests/tests/microformats-v2/h-resume/contact.json
451
- - vendor/tests/tests/microformats-v2/h-resume/education.html
452
- - vendor/tests/tests/microformats-v2/h-resume/education.json
453
- - vendor/tests/tests/microformats-v2/h-resume/justaname.html
454
- - vendor/tests/tests/microformats-v2/h-resume/justaname.json
455
- - vendor/tests/tests/microformats-v2/h-resume/skill.html
456
- - vendor/tests/tests/microformats-v2/h-resume/skill.json
457
- - vendor/tests/tests/microformats-v2/h-resume/work.html
458
- - vendor/tests/tests/microformats-v2/h-resume/work.json
459
- - vendor/tests/tests/microformats-v2/h-review-aggregate/change-log.html
460
- - vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.html
461
- - vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.json
462
- - vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.html
463
- - vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.json
464
- - vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.html
465
- - vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.json
466
- - vendor/tests/tests/microformats-v2/h-review/change-log.html
467
- - vendor/tests/tests/microformats-v2/h-review/hyperlink.html
468
- - vendor/tests/tests/microformats-v2/h-review/hyperlink.json
469
- - vendor/tests/tests/microformats-v2/h-review/implieditem.html
470
- - vendor/tests/tests/microformats-v2/h-review/implieditem.json
471
- - vendor/tests/tests/microformats-v2/h-review/item.html
472
- - vendor/tests/tests/microformats-v2/h-review/item.json
473
- - vendor/tests/tests/microformats-v2/h-review/justaname.html
474
- - vendor/tests/tests/microformats-v2/h-review/justaname.json
475
- - vendor/tests/tests/microformats-v2/h-review/photo.html
476
- - vendor/tests/tests/microformats-v2/h-review/photo.json
477
- - vendor/tests/tests/microformats-v2/h-review/vcard.html
478
- - vendor/tests/tests/microformats-v2/h-review/vcard.json
479
- - vendor/tests/tests/microformats-v2/rel/change-log.html
480
- - vendor/tests/tests/microformats-v2/rel/duplicate-rels.html
481
- - vendor/tests/tests/microformats-v2/rel/duplicate-rels.json
482
- - vendor/tests/tests/microformats-v2/rel/license.html
483
- - vendor/tests/tests/microformats-v2/rel/license.json
484
- - vendor/tests/tests/microformats-v2/rel/nofollow.html
485
- - vendor/tests/tests/microformats-v2/rel/nofollow.json
486
- - vendor/tests/tests/microformats-v2/rel/rel-urls.html
487
- - vendor/tests/tests/microformats-v2/rel/rel-urls.json
488
- - vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.html
489
- - vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.json
490
- - vendor/tests/tests/microformats-v2/rel/xfn-all.html
491
- - vendor/tests/tests/microformats-v2/rel/xfn-all.json
492
- - vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.html
493
- - vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.json
494
- homepage: https://github.com/indieweb/microformats-ruby
495
- licenses: []
229
+ homepage: https://github.com/microformats/microformats-ruby
230
+ licenses:
231
+ - CC0-1.0
496
232
  metadata: {}
497
- post_install_message: |2+
498
-
499
-
500
- Previously called "microformats2" (on version 3.1 and below).
501
-
233
+ post_install_message: Prior to version 4.0.0, the microformats gem was named "microformats2."
502
234
  rdoc_options: []
503
235
  require_paths:
504
236
  - lib
@@ -506,73 +238,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
506
238
  requirements:
507
239
  - - ">="
508
240
  - !ruby/object:Gem::Version
509
- version: '2.0'
241
+ version: '2.4'
242
+ - - "<"
243
+ - !ruby/object:Gem::Version
244
+ version: '2.8'
510
245
  required_rubygems_version: !ruby/object:Gem::Requirement
511
246
  requirements:
512
247
  - - ">="
513
248
  - !ruby/object:Gem::Version
514
249
  version: '0'
515
250
  requirements: []
516
- rubyforge_project:
517
- rubygems_version: 2.5.1
251
+ rubygems_version: 3.1.2
518
252
  signing_key:
519
253
  specification_version: 4
520
- summary: Microformats and microformats2 parser
521
- test_files:
522
- - spec/lib/microformats/absolute_uri_spec.rb
523
- - spec/lib/microformats/parser_spec.rb
524
- - spec/lib/microformats_spec.rb
525
- - spec/spec_helper.rb
526
- - spec/support/cases/microformats.org/microformats-2/microformats-2-0.html
527
- - spec/support/cases/microformats.org/microformats-2/microformats-2-0.js
528
- - spec/support/cases/microformats.org/microformats-2/microformats-2-1.html
529
- - spec/support/cases/microformats.org/microformats-2/microformats-2-1.js
530
- - spec/support/cases/microformats.org/microformats-2/microformats-2-2.html
531
- - spec/support/cases/microformats.org/microformats-2/microformats-2-2.js
532
- - spec/support/cases/microformats.org/microformats-2/microformats-2-3.html
533
- - spec/support/cases/microformats.org/microformats-2/microformats-2-3.js
534
- - spec/support/cases/microformats.org/microformats-2/microformats-2-4.html
535
- - spec/support/cases/microformats.org/microformats-2/microformats-2-4.js
536
- - spec/support/cases/microformats.org/microformats-2/microformats-2-5.html
537
- - spec/support/cases/microformats.org/microformats-2/microformats-2-5.js
538
- - spec/support/cases/microformats.org/microformats-2/microformats-2-6.html
539
- - spec/support/cases/microformats.org/microformats-2/microformats-2-6.js
540
- - spec/support/cases/microformats.org/microformats-2/microformats-2-7.html
541
- - spec/support/cases/microformats.org/microformats-2/microformats-2-7.js
542
- - spec/support/cases/microformats.org/microformats-2/microformats-2-8.html
543
- - spec/support/cases/microformats.org/microformats-2/microformats-2-8.js
544
- - spec/support/cases/microformats.org/microformats-2/microformats-2-9.html
545
- - spec/support/cases/microformats.org/microformats-2/microformats-2-9.js
546
- - spec/support/lib/edge_cases/blank_href.html
547
- - spec/support/lib/edge_cases/blank_href.js
548
- - spec/support/lib/edge_cases/blank_rel.html
549
- - spec/support/lib/edge_cases/blank_rel.js
550
- - spec/support/lib/edge_cases/blank_src.html
551
- - spec/support/lib/edge_cases/blank_src.js
552
- - spec/support/lib/edge_cases/blank_value.html
553
- - spec/support/lib/edge_cases/blank_value.js
554
- - spec/support/lib/edge_cases/relative.html
555
- - spec/support/lib/edge_cases/relative.js
556
- - spec/support/lib/microformats/blank_href.html
557
- - spec/support/lib/microformats/blank_href.js
558
- - spec/support/lib/microformats/implied_property/name-fail.html
559
- - spec/support/lib/microformats/implied_property/name-pass.html
560
- - spec/support/lib/microformats/implied_property/photo-fail.html
561
- - spec/support/lib/microformats/implied_property/photo-pass.html
562
- - spec/support/lib/microformats/implied_property/url-fail.html
563
- - spec/support/lib/microformats/implied_property/url-pass.html
564
- - spec/support/lib/microformats/implied_property/url-relative.html
565
- - spec/support/lib/microformats/implied_property/url-unnormalized.html
566
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.html
567
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.js
568
- - spec/support/lib/microformats/nested-format-with-property.html
569
- - spec/support/lib/microformats/nested-format-with-property.js
570
- - spec/support/lib/microformats/nested-format-without-property.html
571
- - spec/support/lib/microformats/nested-property.html
572
- - spec/support/lib/microformats/nested-property.js
573
- - spec/support/lib/microformats/rels-that-drop-the-base.html
574
- - spec/support/lib/microformats/rels-with-unnormalized-urls.html
575
- - spec/support/lib/microformats/rels.html
576
- - spec/support/lib/microformats/rels.js
577
- - spec/support/lib/microformats/simple.html
578
- - spec/support/lib/microformats/simple.js
254
+ summary: Microformats2 and classic microformats parser
255
+ test_files: []