microformats 4.0.7 → 4.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) 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 +17 -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 +122 -118
  26. data/lib/microformats/version.rb +1 -1
  27. data/logo.svg +23 -0
  28. data/microformats.gemspec +35 -33
  29. metadata +124 -451
  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/edge_cases/vcp-dates.html +0 -13
  66. data/spec/support/lib/edge_cases/vcp-dates.js +0 -30
  67. data/spec/support/lib/microformats/blank_href.html +0 -23
  68. data/spec/support/lib/microformats/blank_href.js +0 -11
  69. data/spec/support/lib/microformats/implied_property/name-fail.html +0 -60
  70. data/spec/support/lib/microformats/implied_property/name-pass.html +0 -30
  71. data/spec/support/lib/microformats/implied_property/photo-fail.html +0 -60
  72. data/spec/support/lib/microformats/implied_property/photo-pass.html +0 -30
  73. data/spec/support/lib/microformats/implied_property/url-fail.html +0 -18
  74. data/spec/support/lib/microformats/implied_property/url-pass.html +0 -12
  75. data/spec/support/lib/microformats/implied_property/url-relative.html +0 -13
  76. data/spec/support/lib/microformats/implied_property/url-unnormalized.html +0 -12
  77. data/spec/support/lib/microformats/nested-format-with-property-of-same-name.html +0 -13
  78. data/spec/support/lib/microformats/nested-format-with-property-of-same-name.js +0 -16
  79. data/spec/support/lib/microformats/nested-format-with-property.html +0 -12
  80. data/spec/support/lib/microformats/nested-format-with-property.js +0 -16
  81. data/spec/support/lib/microformats/nested-format-without-property.html +0 -13
  82. data/spec/support/lib/microformats/nested-property.html +0 -12
  83. data/spec/support/lib/microformats/nested-property.js +0 -10
  84. data/spec/support/lib/microformats/rels-that-drop-the-base.html +0 -11
  85. data/spec/support/lib/microformats/rels-with-unnormalized-urls.html +0 -11
  86. data/spec/support/lib/microformats/rels.html +0 -12
  87. data/spec/support/lib/microformats/rels.js +0 -13
  88. data/spec/support/lib/microformats/simple.html +0 -23
  89. data/spec/support/lib/microformats/simple.js +0 -11
  90. data/vendor/tests/.gitignore +0 -25
  91. data/vendor/tests/LICENSE.md +0 -36
  92. data/vendor/tests/README.md +0 -48
  93. data/vendor/tests/app.js +0 -84
  94. data/vendor/tests/composer.json +0 -5
  95. data/vendor/tests/css/testsuite.css +0 -159
  96. data/vendor/tests/interface.js +0 -18
  97. data/vendor/tests/package.json +0 -27
  98. data/vendor/tests/tests/microformats-mixed/h-card/change-log.html +0 -63
  99. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.html +0 -14
  100. data/vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.json +0 -22
  101. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.html +0 -1
  102. data/vendor/tests/tests/microformats-mixed/h-card/tworoots.json +0 -10
  103. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.html +0 -16
  104. data/vendor/tests/tests/microformats-mixed/h-entry/mixedroots.json +0 -38
  105. data/vendor/tests/tests/microformats-mixed/h-resume/change-log.html +0 -68
  106. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.html +0 -16
  107. data/vendor/tests/tests/microformats-mixed/h-resume/mixedroots.json +0 -31
  108. data/vendor/tests/tests/microformats-v1/adr/change-log.html +0 -63
  109. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.html +0 -8
  110. data/vendor/tests/tests/microformats-v1/adr/simpleproperties.json +0 -15
  111. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.html +0 -5
  112. data/vendor/tests/tests/microformats-v1/geo/abbrpattern.json +0 -11
  113. data/vendor/tests/tests/microformats-v1/geo/change-log.1.html +0 -78
  114. data/vendor/tests/tests/microformats-v1/geo/change-log.html +0 -63
  115. data/vendor/tests/tests/microformats-v1/geo/hidden.html +0 -10
  116. data/vendor/tests/tests/microformats-v1/geo/hidden.json +0 -11
  117. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.html +0 -6
  118. data/vendor/tests/tests/microformats-v1/geo/simpleproperties.json +0 -11
  119. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.html +0 -11
  120. data/vendor/tests/tests/microformats-v1/geo/valuetitleclass.json +0 -11
  121. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.html +0 -41
  122. data/vendor/tests/tests/microformats-v1/hcalendar/ampm.json +0 -21
  123. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.html +0 -13
  124. data/vendor/tests/tests/microformats-v1/hcalendar/attendees.json +0 -37
  125. data/vendor/tests/tests/microformats-v1/hcalendar/change-log.html +0 -68
  126. data/vendor/tests/tests/microformats-v1/hcalendar/combining.html +0 -15
  127. data/vendor/tests/tests/microformats-v1/hcalendar/combining.json +0 -31
  128. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.html +0 -7
  129. data/vendor/tests/tests/microformats-v1/hcalendar/concatenate.json +0 -12
  130. data/vendor/tests/tests/microformats-v1/hcalendar/time.html +0 -44
  131. data/vendor/tests/tests/microformats-v1/hcalendar/time.json +0 -22
  132. data/vendor/tests/tests/microformats-v1/hcard/change-log.html +0 -68
  133. data/vendor/tests/tests/microformats-v1/hcard/email.html +0 -14
  134. data/vendor/tests/tests/microformats-v1/hcard/email.json +0 -11
  135. data/vendor/tests/tests/microformats-v1/hcard/format.html +0 -6
  136. data/vendor/tests/tests/microformats-v1/hcard/format.json +0 -11
  137. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.html +0 -3
  138. data/vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.json +0 -8
  139. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.html +0 -1
  140. data/vendor/tests/tests/microformats-v1/hcard/justahyperlink.json +0 -8
  141. data/vendor/tests/tests/microformats-v1/hcard/justaname.html +0 -1
  142. data/vendor/tests/tests/microformats-v1/hcard/justaname.json +0 -8
  143. data/vendor/tests/tests/microformats-v1/hcard/multiple.html +0 -74
  144. data/vendor/tests/tests/microformats-v1/hcard/multiple.json +0 -65
  145. data/vendor/tests/tests/microformats-v1/hcard/name.html +0 -11
  146. data/vendor/tests/tests/microformats-v1/hcard/name.json +0 -15
  147. data/vendor/tests/tests/microformats-v1/hcard/single.html +0 -14
  148. data/vendor/tests/tests/microformats-v1/hcard/single.json +0 -24
  149. data/vendor/tests/tests/microformats-v1/hentry/change-log.html +0 -73
  150. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.html +0 -20
  151. data/vendor/tests/tests/microformats-v1/hentry/summarycontent.json +0 -24
  152. data/vendor/tests/tests/microformats-v1/hfeed/simple.html +0 -30
  153. data/vendor/tests/tests/microformats-v1/hfeed/simple.json +0 -49
  154. data/vendor/tests/tests/microformats-v1/hnews/all.html +0 -37
  155. data/vendor/tests/tests/microformats-v1/hnews/all.json +0 -74
  156. data/vendor/tests/tests/microformats-v1/hnews/change-log.html +0 -72
  157. data/vendor/tests/tests/microformats-v1/hnews/minimum.html +0 -25
  158. data/vendor/tests/tests/microformats-v1/hnews/minimum.json +0 -48
  159. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.html +0 -26
  160. data/vendor/tests/tests/microformats-v1/hproduct/aggregate.json +0 -52
  161. data/vendor/tests/tests/microformats-v1/hproduct/change-log.html +0 -62
  162. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.html +0 -13
  163. data/vendor/tests/tests/microformats-v1/hproduct/simpleproperties.json +0 -33
  164. data/vendor/tests/tests/microformats-v1/hresume/affiliation.html +0 -12
  165. data/vendor/tests/tests/microformats-v1/hresume/affiliation.json +0 -25
  166. data/vendor/tests/tests/microformats-v1/hresume/change-log.html +0 -73
  167. data/vendor/tests/tests/microformats-v1/hresume/contact.html +0 -18
  168. data/vendor/tests/tests/microformats-v1/hresume/contact.json +0 -32
  169. data/vendor/tests/tests/microformats-v1/hresume/education.html +0 -13
  170. data/vendor/tests/tests/microformats-v1/hresume/education.json +0 -29
  171. data/vendor/tests/tests/microformats-v1/hresume/skill.html +0 -12
  172. data/vendor/tests/tests/microformats-v1/hresume/skill.json +0 -33
  173. data/vendor/tests/tests/microformats-v1/hresume/work.html +0 -16
  174. data/vendor/tests/tests/microformats-v1/hresume/work.json +0 -30
  175. data/vendor/tests/tests/microformats-v1/hreview-aggregate/change-log.html +0 -67
  176. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.html +0 -18
  177. data/vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.json +0 -31
  178. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.html +0 -6
  179. data/vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.json +0 -19
  180. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.html +0 -13
  181. data/vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.json +0 -22
  182. data/vendor/tests/tests/microformats-v1/hreview/change-log.html +0 -73
  183. data/vendor/tests/tests/microformats-v1/hreview/item.html +0 -8
  184. data/vendor/tests/tests/microformats-v1/hreview/item.json +0 -19
  185. data/vendor/tests/tests/microformats-v1/hreview/vcard.html +0 -23
  186. data/vendor/tests/tests/microformats-v1/hreview/vcard.json +0 -58
  187. data/vendor/tests/tests/microformats-v1/includes/change-log.html +0 -72
  188. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.html +0 -16
  189. data/vendor/tests/tests/microformats-v1/includes/hcarditemref.json +0 -49
  190. data/vendor/tests/tests/microformats-v1/includes/heventitemref.html +0 -25
  191. data/vendor/tests/tests/microformats-v1/includes/heventitemref.json +0 -33
  192. data/vendor/tests/tests/microformats-v1/includes/hyperlink.html +0 -18
  193. data/vendor/tests/tests/microformats-v1/includes/hyperlink.json +0 -43
  194. data/vendor/tests/tests/microformats-v1/includes/object.html +0 -23
  195. data/vendor/tests/tests/microformats-v1/includes/object.json +0 -42
  196. data/vendor/tests/tests/microformats-v1/includes/table.html +0 -12
  197. data/vendor/tests/tests/microformats-v1/includes/table.json +0 -19
  198. data/vendor/tests/tests/microformats-v2/h-adr/change-log.html +0 -62
  199. data/vendor/tests/tests/microformats-v2/h-adr/geo.html +0 -10
  200. data/vendor/tests/tests/microformats-v2/h-adr/geo.json +0 -16
  201. data/vendor/tests/tests/microformats-v2/h-adr/geourl.html +0 -4
  202. data/vendor/tests/tests/microformats-v2/h-adr/geourl.json +0 -13
  203. data/vendor/tests/tests/microformats-v2/h-adr/justaname.html +0 -1
  204. data/vendor/tests/tests/microformats-v2/h-adr/justaname.json +0 -10
  205. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.html +0 -21
  206. data/vendor/tests/tests/microformats-v2/h-adr/lettercase.json +0 -12
  207. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.html +0 -8
  208. data/vendor/tests/tests/microformats-v2/h-adr/simpleproperties.json +0 -16
  209. data/vendor/tests/tests/microformats-v2/h-as-note/note.html +0 -56
  210. data/vendor/tests/tests/microformats-v2/h-as-note/note.json +0 -98
  211. data/vendor/tests/tests/microformats-v2/h-card/baseurl.html +0 -6
  212. data/vendor/tests/tests/microformats-v2/h-card/baseurl.json +0 -26
  213. data/vendor/tests/tests/microformats-v2/h-card/change-log.html +0 -100
  214. data/vendor/tests/tests/microformats-v2/h-card/childimplied.html +0 -7
  215. data/vendor/tests/tests/microformats-v2/h-card/childimplied.json +0 -12
  216. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.html +0 -10
  217. data/vendor/tests/tests/microformats-v2/h-card/extendeddescription.json +0 -15
  218. data/vendor/tests/tests/microformats-v2/h-card/hcard.html +0 -4
  219. data/vendor/tests/tests/microformats-v2/h-card/hcard.json +0 -19
  220. data/vendor/tests/tests/microformats-v2/h-card/horghcard.html +0 -4
  221. data/vendor/tests/tests/microformats-v2/h-card/horghcard.json +0 -19
  222. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.html +0 -3
  223. data/vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.json +0 -12
  224. data/vendor/tests/tests/microformats-v2/h-card/impliedname.html +0 -15
  225. data/vendor/tests/tests/microformats-v2/h-card/impliedname.json +0 -90
  226. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.html +0 -11
  227. data/vendor/tests/tests/microformats-v2/h-card/impliedphoto.json +0 -72
  228. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.html +0 -5
  229. data/vendor/tests/tests/microformats-v2/h-card/impliedurl.json +0 -45
  230. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.html +0 -1
  231. data/vendor/tests/tests/microformats-v2/h-card/justahyperlink.json +0 -11
  232. data/vendor/tests/tests/microformats-v2/h-card/justaname.html +0 -1
  233. data/vendor/tests/tests/microformats-v2/h-card/justaname.json +0 -10
  234. data/vendor/tests/tests/microformats-v2/h-card/nested.html +0 -4
  235. data/vendor/tests/tests/microformats-v2/h-card/nested.json +0 -18
  236. data/vendor/tests/tests/microformats-v2/h-card/p-property.html +0 -21
  237. data/vendor/tests/tests/microformats-v2/h-card/p-property.json +0 -15
  238. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.html +0 -6
  239. data/vendor/tests/tests/microformats-v2/h-card/relativeurls.json +0 -29
  240. data/vendor/tests/tests/microformats-v2/h-entry/change-log.html +0 -90
  241. data/vendor/tests/tests/microformats-v2/h-entry/encoding.html +0 -3
  242. data/vendor/tests/tests/microformats-v2/h-entry/encoding.json +0 -14
  243. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.html +0 -9
  244. data/vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.json +0 -27
  245. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.html +0 -1
  246. data/vendor/tests/tests/microformats-v2/h-entry/justahyperlink.json +0 -11
  247. data/vendor/tests/tests/microformats-v2/h-entry/justaname.html +0 -1
  248. data/vendor/tests/tests/microformats-v2/h-entry/justaname.json +0 -10
  249. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.html +0 -4
  250. data/vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.json +0 -14
  251. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.html +0 -20
  252. data/vendor/tests/tests/microformats-v2/h-entry/summarycontent.json +0 -25
  253. data/vendor/tests/tests/microformats-v2/h-entry/u-property.html +0 -33
  254. data/vendor/tests/tests/microformats-v2/h-entry/u-property.json +0 -12
  255. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.html +0 -13
  256. data/vendor/tests/tests/microformats-v2/h-entry/urlincontent.json +0 -14
  257. data/vendor/tests/tests/microformats-v2/h-event/ampm.html +0 -41
  258. data/vendor/tests/tests/microformats-v2/h-event/ampm.json +0 -21
  259. data/vendor/tests/tests/microformats-v2/h-event/attendees.html +0 -13
  260. data/vendor/tests/tests/microformats-v2/h-event/attendees.json +0 -37
  261. data/vendor/tests/tests/microformats-v2/h-event/change-log.html +0 -82
  262. data/vendor/tests/tests/microformats-v2/h-event/combining.html +0 -13
  263. data/vendor/tests/tests/microformats-v2/h-event/combining.json +0 -25
  264. data/vendor/tests/tests/microformats-v2/h-event/concatenate.html +0 -8
  265. data/vendor/tests/tests/microformats-v2/h-event/concatenate.json +0 -12
  266. data/vendor/tests/tests/microformats-v2/h-event/dates.html +0 -13
  267. data/vendor/tests/tests/microformats-v2/h-event/dates.json +0 -26
  268. data/vendor/tests/tests/microformats-v2/h-event/dt-property.html +0 -23
  269. data/vendor/tests/tests/microformats-v2/h-event/dt-property.json +0 -20
  270. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.html +0 -1
  271. data/vendor/tests/tests/microformats-v2/h-event/justahyperlink.json +0 -11
  272. data/vendor/tests/tests/microformats-v2/h-event/justaname.html +0 -1
  273. data/vendor/tests/tests/microformats-v2/h-event/justaname.json +0 -10
  274. data/vendor/tests/tests/microformats-v2/h-event/time.html +0 -47
  275. data/vendor/tests/tests/microformats-v2/h-event/time.json +0 -25
  276. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.html +0 -30
  277. data/vendor/tests/tests/microformats-v2/h-feed/implied-title.json +0 -23
  278. data/vendor/tests/tests/microformats-v2/h-feed/simple.html +0 -26
  279. data/vendor/tests/tests/microformats-v2/h-feed/simple.json +0 -33
  280. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.html +0 -5
  281. data/vendor/tests/tests/microformats-v2/h-geo/abbrpattern.json +0 -12
  282. data/vendor/tests/tests/microformats-v2/h-geo/altitude.html +0 -8
  283. data/vendor/tests/tests/microformats-v2/h-geo/altitude.json +0 -13
  284. data/vendor/tests/tests/microformats-v2/h-geo/change-log.html +0 -67
  285. data/vendor/tests/tests/microformats-v2/h-geo/hidden.html +0 -10
  286. data/vendor/tests/tests/microformats-v2/h-geo/hidden.json +0 -12
  287. data/vendor/tests/tests/microformats-v2/h-geo/justaname.html +0 -3
  288. data/vendor/tests/tests/microformats-v2/h-geo/justaname.json +0 -10
  289. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.html +0 -5
  290. data/vendor/tests/tests/microformats-v2/h-geo/simpleproperties.json +0 -12
  291. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.html +0 -11
  292. data/vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.json +0 -12
  293. data/vendor/tests/tests/microformats-v2/h-news/all.html +0 -35
  294. data/vendor/tests/tests/microformats-v2/h-news/all.json +0 -51
  295. data/vendor/tests/tests/microformats-v2/h-news/change-log.html +0 -78
  296. data/vendor/tests/tests/microformats-v2/h-news/minimum.html +0 -24
  297. data/vendor/tests/tests/microformats-v2/h-news/minimum.json +0 -40
  298. data/vendor/tests/tests/microformats-v2/h-org/change-log.html +0 -57
  299. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.html +0 -1
  300. data/vendor/tests/tests/microformats-v2/h-org/hyperlink.json +0 -11
  301. data/vendor/tests/tests/microformats-v2/h-org/simple.html +0 -1
  302. data/vendor/tests/tests/microformats-v2/h-org/simple.json +0 -10
  303. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.html +0 -4
  304. data/vendor/tests/tests/microformats-v2/h-org/simpleproperties.json +0 -12
  305. data/vendor/tests/tests/microformats-v2/h-product/aggregate.html +0 -21
  306. data/vendor/tests/tests/microformats-v2/h-product/aggregate.json +0 -45
  307. data/vendor/tests/tests/microformats-v2/h-product/change-log.html +0 -62
  308. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.html +0 -1
  309. data/vendor/tests/tests/microformats-v2/h-product/justahyperlink.json +0 -11
  310. data/vendor/tests/tests/microformats-v2/h-product/justaname.html +0 -1
  311. data/vendor/tests/tests/microformats-v2/h-product/justaname.json +0 -10
  312. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.html +0 -10
  313. data/vendor/tests/tests/microformats-v2/h-product/simpleproperties.json +0 -26
  314. data/vendor/tests/tests/microformats-v2/h-recipe/all.html +0 -63
  315. data/vendor/tests/tests/microformats-v2/h-recipe/all.json +0 -54
  316. data/vendor/tests/tests/microformats-v2/h-recipe/change-log.html +0 -62
  317. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.html +0 -7
  318. data/vendor/tests/tests/microformats-v2/h-recipe/minimum.json +0 -17
  319. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.html +0 -12
  320. data/vendor/tests/tests/microformats-v2/h-resume/affiliation.json +0 -20
  321. data/vendor/tests/tests/microformats-v2/h-resume/change-log.html +0 -78
  322. data/vendor/tests/tests/microformats-v2/h-resume/contact.html +0 -17
  323. data/vendor/tests/tests/microformats-v2/h-resume/contact.json +0 -26
  324. data/vendor/tests/tests/microformats-v2/h-resume/education.html +0 -13
  325. data/vendor/tests/tests/microformats-v2/h-resume/education.json +0 -30
  326. data/vendor/tests/tests/microformats-v2/h-resume/justaname.html +0 -1
  327. data/vendor/tests/tests/microformats-v2/h-resume/justaname.json +0 -10
  328. data/vendor/tests/tests/microformats-v2/h-resume/skill.html +0 -12
  329. data/vendor/tests/tests/microformats-v2/h-resume/skill.json +0 -12
  330. data/vendor/tests/tests/microformats-v2/h-resume/work.html +0 -16
  331. data/vendor/tests/tests/microformats-v2/h-resume/work.json +0 -31
  332. data/vendor/tests/tests/microformats-v2/h-review-aggregate/change-log.html +0 -78
  333. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.html +0 -13
  334. data/vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.json +0 -23
  335. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.html +0 -8
  336. data/vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.json +0 -19
  337. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.html +0 -18
  338. data/vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.json +0 -26
  339. data/vendor/tests/tests/microformats-v2/h-review/change-log.html +0 -84
  340. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.html +0 -1
  341. data/vendor/tests/tests/microformats-v2/h-review/hyperlink.json +0 -11
  342. data/vendor/tests/tests/microformats-v2/h-review/implieditem.html +0 -4
  343. data/vendor/tests/tests/microformats-v2/h-review/implieditem.json +0 -19
  344. data/vendor/tests/tests/microformats-v2/h-review/item.html +0 -8
  345. data/vendor/tests/tests/microformats-v2/h-review/item.json +0 -20
  346. data/vendor/tests/tests/microformats-v2/h-review/justaname.html +0 -1
  347. data/vendor/tests/tests/microformats-v2/h-review/justaname.json +0 -10
  348. data/vendor/tests/tests/microformats-v2/h-review/photo.html +0 -1
  349. data/vendor/tests/tests/microformats-v2/h-review/photo.json +0 -11
  350. data/vendor/tests/tests/microformats-v2/h-review/vcard.html +0 -23
  351. data/vendor/tests/tests/microformats-v2/h-review/vcard.json +0 -48
  352. data/vendor/tests/tests/microformats-v2/rel/change-log.html +0 -67
  353. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.html +0 -10
  354. data/vendor/tests/tests/microformats-v2/rel/duplicate-rels.json +0 -75
  355. data/vendor/tests/tests/microformats-v2/rel/license.html +0 -1
  356. data/vendor/tests/tests/microformats-v2/rel/license.json +0 -12
  357. data/vendor/tests/tests/microformats-v2/rel/nofollow.html +0 -1
  358. data/vendor/tests/tests/microformats-v2/rel/nofollow.json +0 -12
  359. data/vendor/tests/tests/microformats-v2/rel/rel-urls.html +0 -8
  360. data/vendor/tests/tests/microformats-v2/rel/rel-urls.json +0 -33
  361. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.html +0 -4
  362. data/vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.json +0 -20
  363. data/vendor/tests/tests/microformats-v2/rel/xfn-all.html +0 -19
  364. data/vendor/tests/tests/microformats-v2/rel/xfn-all.json +0 -92
  365. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.html +0 -10
  366. data/vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.json +0 -40
@@ -1,7 +1,6 @@
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
@@ -15,32 +14,32 @@ module Microformats
15
14
 
16
15
  parse_value_class_pattern(element)
17
16
 
18
- if @duration_value.nil? and @time_value.nil? and @date_value.nil? and @tz_value.nil?
19
-
20
- value = nil
21
- if ['time', 'ins', 'del'].include? element.name and not element.attribute('datetime').nil?
22
- value = element.attribute('datetime').value.strip
23
- elsif element.name == 'abbr' and not element.attribute('title').nil?
24
- value = element.attribute('title').value.strip
25
- elsif (element.name == 'data' or element.name == 'input') and not element.attribute('value').nil?
26
- value = element.attribute('value').value.strip
27
- else
28
- value = element.text.strip
29
- 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
30
28
 
31
29
  parse_dt(value)
32
-
33
30
  end
34
31
 
35
- if not @duration_value.nil?
32
+ if !@duration_value.nil?
36
33
  @duration_value
37
34
  else
38
35
  result = nil
39
36
  result = result.to_s + @date_value unless @date_value.nil?
40
- unless @time_value.nil?
41
- result = result.to_s + ' ' unless result.nil?
42
- result = result.to_s + @time_value
37
+
38
+ unless @time_value.nil?
39
+ result = result.to_s + ' ' unless result.nil?
40
+ result = result.to_s + @time_value
43
41
  end
42
+
44
43
  result = result.to_s + @tz_value unless @tz_value.nil?
45
44
  result
46
45
  end
@@ -51,133 +50,138 @@ module Microformats
51
50
  end
52
51
 
53
52
  def parse_element(element)
54
-
55
- if @duration_value.nil? or (@time_value.nil? and @date_value.nil? and @tz_value.nil?)
53
+ if @duration_value.nil? || (@time_value.nil? && @date_value.nil? && @tz_value.nil?)
56
54
  if value_title_classes(element).length >= 1
57
- value = element.attribute('title').value.strip
55
+ value = element.attribute('title').value.strip
58
56
  elsif value_classes(element).length >= 1
59
- if element.name == 'img' or element.name == 'area' and not element.attribute('alt').nil?
60
- value = element.attribute('alt').value.strip
61
- elsif element.name == 'data' and not element.attribute('value').nil?
62
- value = element.attribute('value').value.strip
63
- elsif element.name == 'abbr' and not element.attribute('title').nil?
64
- value = element.attribute('title').value.strip
65
- elsif ['time', 'ins', 'del'].include? element.name and not element.attribute('datetime').nil?
66
- value = element.attribute('datetime').value.strip
67
- else
68
- value = element.text.strip
69
- 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
70
69
  end
71
- parse_dt(value, normalize: true)
70
+
71
+ parse_dt(value, normalize: true)
72
72
 
73
73
  p_classes = property_classes(element)
74
74
  p_classes = backcompat_property_classes(element) if @mode_backcompat
75
- if p_classes.length == 0 and format_classes(element).length == 0
75
+
76
+ if p_classes.empty? && format_classes(element).empty?
76
77
  parse_node(element.children)
77
78
  end
78
79
  end
79
-
80
80
  end
81
81
 
82
82
  def parse_dt(data, normalize: false)
83
83
  # currently the value-class-pattern page lists to normalize and remove :'s but not regular parsing, seems very odd
84
84
  # https://github.com/microformats/tests/issues/29
85
85
  #
86
- #TODO this still allows a lot of non correct values such as 39th day of the month, etc
87
- begin
88
- case data.strip
89
- when /^P\d*W$/
90
- @duration_value = data if @duration_value.nil?
91
-
92
- when /^P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$/
93
- @duration_value = data if @duration_value.nil?
94
-
95
- when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?)?([zZ]|[-+][01]?\d:?[0-5]\d)?$/
96
- @date_value = $1 if @date_value.nil?
97
- @time_value = $2 if @time_value.nil?
98
- @tz_value = $4.gsub(/z/, 'Z') if @tz_value.nil?
99
-
100
- when /^(\d{4}-[01]\d-[0-3]\d)[tT ]([0-2]\d:[0-5]\d(:[0-5]\d)?)( ?[-+]\d\d:?(\d\d)?)$/
101
- @date_value = $1 if @date_value.nil?
102
- @time_value = $2 if @time_value.nil?
103
- if normalize
104
- @tz_value = $4.gsub(/z/, 'Z').gsub(/:/,'') if @tz_value.nil?
105
- else
106
- @tz_value = $4.gsub(/z/, 'Z') if @tz_value.nil?
107
- end
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?
108
90
 
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 = $1 if @date_value.nil?
111
- @time_value = $2 if @time_value.nil?
112
- @tz_value = $4.gsub(/z/, 'Z') if @tz_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?
113
93
 
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 = $1 if @date_value.nil?
116
- @time_value = $2 if @time_value.nil?
117
- if normalize
118
- @tz_value = $4.gsub(/z/, 'Z').gsub(/:/,'') if @tz_value.nil?
119
- else
120
- @tz_value = $4.gsub(/z/, 'Z') if @tz_value.nil?
121
- end
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?
122
98
 
123
- when /^(\d{4})-([01]?\d)-([0-3]?\d)$/
124
- @date_value = DateTime.new($1.to_i, $2.to_i, $3.to_i).strftime('%F') 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?
125
102
 
126
- when /^(\d{4})-([0-3]\d{2})$/
127
- @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
128
108
 
129
- when /^(\d{4})-([01]?\d)$/
130
- @date_value = data if @date_value.nil?
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?
131
113
 
132
- when /^([zZ]|[-+][01]?\d:?[0-5]\d)$/
133
- if normalize
134
- @tz_value = $1.gsub(/z/, 'Z').gsub(/:/,'') if @tz_value.nil?
135
- else
136
- @tz_value = $1.gsub(/z/, 'Z') if @tz_value.nil?
137
- end
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?
138
117
 
139
- when /^([0-2]\d:[0-5]\d(:[0-5]\d)?)([zZ]|[-+][01]\d:?\d\d)?$/
140
- @time_value = $1 if @time_value.nil?
141
- if normalize
142
- @tz_value = $3.gsub(/z/, 'Z').gsub(/:/,'') if @tz_value.nil?
143
- else
144
- @tz_value = $3.gsub(/z/, 'Z') if @tz_value.nil?
145
- end
118
+ if normalize
119
+ @tz_value = Regexp.last_match(4).tr('z', 'Z').delete(':') if @tz_value.nil?
120
+ else
121
+ @tz_value = Regexp.last_match(4).tr('z', 'Z') if @tz_value.nil?
122
+ end
123
+
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?
146
126
 
147
- when /^[0-2]\d:[0-5]\d[zZ]?$/
148
- @time_value = Time.parse(data).strftime('%H:%M') if @time_value.nil?
149
- @tz_value = 'Z'
150
-
151
- when /^([0-2]\d:[0-5]\d:[0-5]\d)([-+][01]\d:?[0-5]\d)$/
152
- Time.parse(data).strftime('%T') #to make sure this time doesn't throw an error
153
- @time_value = $1 if @time_value.nil?
154
- @tz_value = $2 if @tz_value.nil?
155
-
156
- when /^([0-2][0-0]:[0-5]\d)([-+][01]\d:?[0-5]\d)$/
157
- Time.parse(data).strftime('%H:%M') #to make sure this time doesn't throw an error
158
- @time_value = $1 if @time_value.nil?
159
- @tz_value = $2 if @tz_value.nil?
160
-
161
- when /^([01]?\d):?([0-5]\d)?p\.?m\.?$/i
162
- @time_value = ($1.to_i + 12).to_s + ':' + $2.to_s.rjust(2,'0') if @time_value.nil?
163
- when /^([01]?\d):?([0-5]\d)?a\.?m\.?$/i
164
- @time_value = $1.to_s.rjust(2,'0') + ':' + $2.to_s.rjust(2,'0') if @time_value.nil?
165
- when /^([01]?\d):([0-5]\d):([0-5]\d)?p\.?m\.?$/i
166
- @time_value = ($1.to_i + 12).to_s + ':' + $2.to_s.rjust(2,'0') + ':'+ $3.to_s.rjust(2,'0') if @time_value.nil?
167
- when /^([01]?\d):([0-5]\d):([0-5]\d)?a\.?m\.?$/i
168
- @time_value = $1.to_s.rjust(2,'0') + ':' + $2.to_s.rjust(2,'0') + ':'+ $3.to_s.rjust(2,'0') if @time_value.nil?
127
+ when /^(\d{4})-([0-3]\d{2})$/
128
+ @date_value = data if @date_value.nil?
169
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?
170
136
  else
171
- t = Time.parse(data)
172
- @time_value = t.strftime('%T') if @time_value.nil?
173
- @date_value = t.strftime('%F') if @date_value.nil?
137
+ @tz_value = Regexp.last_match(1).tr('z', 'Z') if @tz_value.nil?
174
138
  end
175
139
 
176
- rescue
177
- nil
178
- end
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?
179
142
 
180
- end
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'
181
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
182
186
  end
183
187
  end
@@ -1,3 +1,3 @@
1
1
  module Microformats
2
- VERSION = "4.0.7"
2
+ VERSION = '4.3.1'.freeze
3
3
  end
data/logo.svg ADDED
@@ -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>
data/microformats.gemspec CHANGED
@@ -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', '< 3.1']
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.3'
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,132 +1,194 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: microformats
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.7
4
+ version: 4.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Becker
8
8
  - Jessica Lynn Suttles
9
9
  - Ben Roberts
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-06-25 00:00:00.000000000 Z
13
+ date: 2021-05-03 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.3'
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.3'
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,351 +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/edge_cases/vcp-dates.html
195
- - spec/support/lib/edge_cases/vcp-dates.js
196
- - spec/support/lib/microformats/blank_href.html
197
- - spec/support/lib/microformats/blank_href.js
198
- - spec/support/lib/microformats/implied_property/name-fail.html
199
- - spec/support/lib/microformats/implied_property/name-pass.html
200
- - spec/support/lib/microformats/implied_property/photo-fail.html
201
- - spec/support/lib/microformats/implied_property/photo-pass.html
202
- - spec/support/lib/microformats/implied_property/url-fail.html
203
- - spec/support/lib/microformats/implied_property/url-pass.html
204
- - spec/support/lib/microformats/implied_property/url-relative.html
205
- - spec/support/lib/microformats/implied_property/url-unnormalized.html
206
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.html
207
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.js
208
- - spec/support/lib/microformats/nested-format-with-property.html
209
- - spec/support/lib/microformats/nested-format-with-property.js
210
- - spec/support/lib/microformats/nested-format-without-property.html
211
- - spec/support/lib/microformats/nested-property.html
212
- - spec/support/lib/microformats/nested-property.js
213
- - spec/support/lib/microformats/rels-that-drop-the-base.html
214
- - spec/support/lib/microformats/rels-with-unnormalized-urls.html
215
- - spec/support/lib/microformats/rels.html
216
- - spec/support/lib/microformats/rels.js
217
- - spec/support/lib/microformats/simple.html
218
- - spec/support/lib/microformats/simple.js
219
- - vendor/tests/.gitignore
220
- - vendor/tests/LICENSE.md
221
- - vendor/tests/README.md
222
- - vendor/tests/app.js
223
- - vendor/tests/composer.json
224
- - vendor/tests/css/testsuite.css
225
- - vendor/tests/interface.js
226
- - vendor/tests/package.json
227
- - vendor/tests/tests/microformats-mixed/h-card/change-log.html
228
- - vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.html
229
- - vendor/tests/tests/microformats-mixed/h-card/mixedpropertries.json
230
- - vendor/tests/tests/microformats-mixed/h-card/tworoots.html
231
- - vendor/tests/tests/microformats-mixed/h-card/tworoots.json
232
- - vendor/tests/tests/microformats-mixed/h-entry/mixedroots.html
233
- - vendor/tests/tests/microformats-mixed/h-entry/mixedroots.json
234
- - vendor/tests/tests/microformats-mixed/h-resume/change-log.html
235
- - vendor/tests/tests/microformats-mixed/h-resume/mixedroots.html
236
- - vendor/tests/tests/microformats-mixed/h-resume/mixedroots.json
237
- - vendor/tests/tests/microformats-v1/adr/change-log.html
238
- - vendor/tests/tests/microformats-v1/adr/simpleproperties.html
239
- - vendor/tests/tests/microformats-v1/adr/simpleproperties.json
240
- - vendor/tests/tests/microformats-v1/geo/abbrpattern.html
241
- - vendor/tests/tests/microformats-v1/geo/abbrpattern.json
242
- - vendor/tests/tests/microformats-v1/geo/change-log.1.html
243
- - vendor/tests/tests/microformats-v1/geo/change-log.html
244
- - vendor/tests/tests/microformats-v1/geo/hidden.html
245
- - vendor/tests/tests/microformats-v1/geo/hidden.json
246
- - vendor/tests/tests/microformats-v1/geo/simpleproperties.html
247
- - vendor/tests/tests/microformats-v1/geo/simpleproperties.json
248
- - vendor/tests/tests/microformats-v1/geo/valuetitleclass.html
249
- - vendor/tests/tests/microformats-v1/geo/valuetitleclass.json
250
- - vendor/tests/tests/microformats-v1/hcalendar/ampm.html
251
- - vendor/tests/tests/microformats-v1/hcalendar/ampm.json
252
- - vendor/tests/tests/microformats-v1/hcalendar/attendees.html
253
- - vendor/tests/tests/microformats-v1/hcalendar/attendees.json
254
- - vendor/tests/tests/microformats-v1/hcalendar/change-log.html
255
- - vendor/tests/tests/microformats-v1/hcalendar/combining.html
256
- - vendor/tests/tests/microformats-v1/hcalendar/combining.json
257
- - vendor/tests/tests/microformats-v1/hcalendar/concatenate.html
258
- - vendor/tests/tests/microformats-v1/hcalendar/concatenate.json
259
- - vendor/tests/tests/microformats-v1/hcalendar/time.html
260
- - vendor/tests/tests/microformats-v1/hcalendar/time.json
261
- - vendor/tests/tests/microformats-v1/hcard/change-log.html
262
- - vendor/tests/tests/microformats-v1/hcard/email.html
263
- - vendor/tests/tests/microformats-v1/hcard/email.json
264
- - vendor/tests/tests/microformats-v1/hcard/format.html
265
- - vendor/tests/tests/microformats-v1/hcard/format.json
266
- - vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.html
267
- - vendor/tests/tests/microformats-v1/hcard/hyperlinkedphoto.json
268
- - vendor/tests/tests/microformats-v1/hcard/justahyperlink.html
269
- - vendor/tests/tests/microformats-v1/hcard/justahyperlink.json
270
- - vendor/tests/tests/microformats-v1/hcard/justaname.html
271
- - vendor/tests/tests/microformats-v1/hcard/justaname.json
272
- - vendor/tests/tests/microformats-v1/hcard/multiple.html
273
- - vendor/tests/tests/microformats-v1/hcard/multiple.json
274
- - vendor/tests/tests/microformats-v1/hcard/name.html
275
- - vendor/tests/tests/microformats-v1/hcard/name.json
276
- - vendor/tests/tests/microformats-v1/hcard/single.html
277
- - vendor/tests/tests/microformats-v1/hcard/single.json
278
- - vendor/tests/tests/microformats-v1/hentry/change-log.html
279
- - vendor/tests/tests/microformats-v1/hentry/summarycontent.html
280
- - vendor/tests/tests/microformats-v1/hentry/summarycontent.json
281
- - vendor/tests/tests/microformats-v1/hfeed/simple.html
282
- - vendor/tests/tests/microformats-v1/hfeed/simple.json
283
- - vendor/tests/tests/microformats-v1/hnews/all.html
284
- - vendor/tests/tests/microformats-v1/hnews/all.json
285
- - vendor/tests/tests/microformats-v1/hnews/change-log.html
286
- - vendor/tests/tests/microformats-v1/hnews/minimum.html
287
- - vendor/tests/tests/microformats-v1/hnews/minimum.json
288
- - vendor/tests/tests/microformats-v1/hproduct/aggregate.html
289
- - vendor/tests/tests/microformats-v1/hproduct/aggregate.json
290
- - vendor/tests/tests/microformats-v1/hproduct/change-log.html
291
- - vendor/tests/tests/microformats-v1/hproduct/simpleproperties.html
292
- - vendor/tests/tests/microformats-v1/hproduct/simpleproperties.json
293
- - vendor/tests/tests/microformats-v1/hresume/affiliation.html
294
- - vendor/tests/tests/microformats-v1/hresume/affiliation.json
295
- - vendor/tests/tests/microformats-v1/hresume/change-log.html
296
- - vendor/tests/tests/microformats-v1/hresume/contact.html
297
- - vendor/tests/tests/microformats-v1/hresume/contact.json
298
- - vendor/tests/tests/microformats-v1/hresume/education.html
299
- - vendor/tests/tests/microformats-v1/hresume/education.json
300
- - vendor/tests/tests/microformats-v1/hresume/skill.html
301
- - vendor/tests/tests/microformats-v1/hresume/skill.json
302
- - vendor/tests/tests/microformats-v1/hresume/work.html
303
- - vendor/tests/tests/microformats-v1/hresume/work.json
304
- - vendor/tests/tests/microformats-v1/hreview-aggregate/change-log.html
305
- - vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.html
306
- - vendor/tests/tests/microformats-v1/hreview-aggregate/hcard.json
307
- - vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.html
308
- - vendor/tests/tests/microformats-v1/hreview-aggregate/justahyperlink.json
309
- - vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.html
310
- - vendor/tests/tests/microformats-v1/hreview-aggregate/vevent.json
311
- - vendor/tests/tests/microformats-v1/hreview/change-log.html
312
- - vendor/tests/tests/microformats-v1/hreview/item.html
313
- - vendor/tests/tests/microformats-v1/hreview/item.json
314
- - vendor/tests/tests/microformats-v1/hreview/vcard.html
315
- - vendor/tests/tests/microformats-v1/hreview/vcard.json
316
- - vendor/tests/tests/microformats-v1/includes/change-log.html
317
- - vendor/tests/tests/microformats-v1/includes/hcarditemref.html
318
- - vendor/tests/tests/microformats-v1/includes/hcarditemref.json
319
- - vendor/tests/tests/microformats-v1/includes/heventitemref.html
320
- - vendor/tests/tests/microformats-v1/includes/heventitemref.json
321
- - vendor/tests/tests/microformats-v1/includes/hyperlink.html
322
- - vendor/tests/tests/microformats-v1/includes/hyperlink.json
323
- - vendor/tests/tests/microformats-v1/includes/object.html
324
- - vendor/tests/tests/microformats-v1/includes/object.json
325
- - vendor/tests/tests/microformats-v1/includes/table.html
326
- - vendor/tests/tests/microformats-v1/includes/table.json
327
- - vendor/tests/tests/microformats-v2/h-adr/change-log.html
328
- - vendor/tests/tests/microformats-v2/h-adr/geo.html
329
- - vendor/tests/tests/microformats-v2/h-adr/geo.json
330
- - vendor/tests/tests/microformats-v2/h-adr/geourl.html
331
- - vendor/tests/tests/microformats-v2/h-adr/geourl.json
332
- - vendor/tests/tests/microformats-v2/h-adr/justaname.html
333
- - vendor/tests/tests/microformats-v2/h-adr/justaname.json
334
- - vendor/tests/tests/microformats-v2/h-adr/lettercase.html
335
- - vendor/tests/tests/microformats-v2/h-adr/lettercase.json
336
- - vendor/tests/tests/microformats-v2/h-adr/simpleproperties.html
337
- - vendor/tests/tests/microformats-v2/h-adr/simpleproperties.json
338
- - vendor/tests/tests/microformats-v2/h-as-note/note.html
339
- - vendor/tests/tests/microformats-v2/h-as-note/note.json
340
- - vendor/tests/tests/microformats-v2/h-card/baseurl.html
341
- - vendor/tests/tests/microformats-v2/h-card/baseurl.json
342
- - vendor/tests/tests/microformats-v2/h-card/change-log.html
343
- - vendor/tests/tests/microformats-v2/h-card/childimplied.html
344
- - vendor/tests/tests/microformats-v2/h-card/childimplied.json
345
- - vendor/tests/tests/microformats-v2/h-card/extendeddescription.html
346
- - vendor/tests/tests/microformats-v2/h-card/extendeddescription.json
347
- - vendor/tests/tests/microformats-v2/h-card/hcard.html
348
- - vendor/tests/tests/microformats-v2/h-card/hcard.json
349
- - vendor/tests/tests/microformats-v2/h-card/horghcard.html
350
- - vendor/tests/tests/microformats-v2/h-card/horghcard.json
351
- - vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.html
352
- - vendor/tests/tests/microformats-v2/h-card/hyperlinkedphoto.json
353
- - vendor/tests/tests/microformats-v2/h-card/impliedname.html
354
- - vendor/tests/tests/microformats-v2/h-card/impliedname.json
355
- - vendor/tests/tests/microformats-v2/h-card/impliedphoto.html
356
- - vendor/tests/tests/microformats-v2/h-card/impliedphoto.json
357
- - vendor/tests/tests/microformats-v2/h-card/impliedurl.html
358
- - vendor/tests/tests/microformats-v2/h-card/impliedurl.json
359
- - vendor/tests/tests/microformats-v2/h-card/justahyperlink.html
360
- - vendor/tests/tests/microformats-v2/h-card/justahyperlink.json
361
- - vendor/tests/tests/microformats-v2/h-card/justaname.html
362
- - vendor/tests/tests/microformats-v2/h-card/justaname.json
363
- - vendor/tests/tests/microformats-v2/h-card/nested.html
364
- - vendor/tests/tests/microformats-v2/h-card/nested.json
365
- - vendor/tests/tests/microformats-v2/h-card/p-property.html
366
- - vendor/tests/tests/microformats-v2/h-card/p-property.json
367
- - vendor/tests/tests/microformats-v2/h-card/relativeurls.html
368
- - vendor/tests/tests/microformats-v2/h-card/relativeurls.json
369
- - vendor/tests/tests/microformats-v2/h-entry/change-log.html
370
- - vendor/tests/tests/microformats-v2/h-entry/encoding.html
371
- - vendor/tests/tests/microformats-v2/h-entry/encoding.json
372
- - vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.html
373
- - vendor/tests/tests/microformats-v2/h-entry/impliedvalue-nested.json
374
- - vendor/tests/tests/microformats-v2/h-entry/justahyperlink.html
375
- - vendor/tests/tests/microformats-v2/h-entry/justahyperlink.json
376
- - vendor/tests/tests/microformats-v2/h-entry/justaname.html
377
- - vendor/tests/tests/microformats-v2/h-entry/justaname.json
378
- - vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.html
379
- - vendor/tests/tests/microformats-v2/h-entry/scriptstyletags.json
380
- - vendor/tests/tests/microformats-v2/h-entry/summarycontent.html
381
- - vendor/tests/tests/microformats-v2/h-entry/summarycontent.json
382
- - vendor/tests/tests/microformats-v2/h-entry/u-property.html
383
- - vendor/tests/tests/microformats-v2/h-entry/u-property.json
384
- - vendor/tests/tests/microformats-v2/h-entry/urlincontent.html
385
- - vendor/tests/tests/microformats-v2/h-entry/urlincontent.json
386
- - vendor/tests/tests/microformats-v2/h-event/ampm.html
387
- - vendor/tests/tests/microformats-v2/h-event/ampm.json
388
- - vendor/tests/tests/microformats-v2/h-event/attendees.html
389
- - vendor/tests/tests/microformats-v2/h-event/attendees.json
390
- - vendor/tests/tests/microformats-v2/h-event/change-log.html
391
- - vendor/tests/tests/microformats-v2/h-event/combining.html
392
- - vendor/tests/tests/microformats-v2/h-event/combining.json
393
- - vendor/tests/tests/microformats-v2/h-event/concatenate.html
394
- - vendor/tests/tests/microformats-v2/h-event/concatenate.json
395
- - vendor/tests/tests/microformats-v2/h-event/dates.html
396
- - vendor/tests/tests/microformats-v2/h-event/dates.json
397
- - vendor/tests/tests/microformats-v2/h-event/dt-property.html
398
- - vendor/tests/tests/microformats-v2/h-event/dt-property.json
399
- - vendor/tests/tests/microformats-v2/h-event/justahyperlink.html
400
- - vendor/tests/tests/microformats-v2/h-event/justahyperlink.json
401
- - vendor/tests/tests/microformats-v2/h-event/justaname.html
402
- - vendor/tests/tests/microformats-v2/h-event/justaname.json
403
- - vendor/tests/tests/microformats-v2/h-event/time.html
404
- - vendor/tests/tests/microformats-v2/h-event/time.json
405
- - vendor/tests/tests/microformats-v2/h-feed/implied-title.html
406
- - vendor/tests/tests/microformats-v2/h-feed/implied-title.json
407
- - vendor/tests/tests/microformats-v2/h-feed/simple.html
408
- - vendor/tests/tests/microformats-v2/h-feed/simple.json
409
- - vendor/tests/tests/microformats-v2/h-geo/abbrpattern.html
410
- - vendor/tests/tests/microformats-v2/h-geo/abbrpattern.json
411
- - vendor/tests/tests/microformats-v2/h-geo/altitude.html
412
- - vendor/tests/tests/microformats-v2/h-geo/altitude.json
413
- - vendor/tests/tests/microformats-v2/h-geo/change-log.html
414
- - vendor/tests/tests/microformats-v2/h-geo/hidden.html
415
- - vendor/tests/tests/microformats-v2/h-geo/hidden.json
416
- - vendor/tests/tests/microformats-v2/h-geo/justaname.html
417
- - vendor/tests/tests/microformats-v2/h-geo/justaname.json
418
- - vendor/tests/tests/microformats-v2/h-geo/simpleproperties.html
419
- - vendor/tests/tests/microformats-v2/h-geo/simpleproperties.json
420
- - vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.html
421
- - vendor/tests/tests/microformats-v2/h-geo/valuetitleclass.json
422
- - vendor/tests/tests/microformats-v2/h-news/all.html
423
- - vendor/tests/tests/microformats-v2/h-news/all.json
424
- - vendor/tests/tests/microformats-v2/h-news/change-log.html
425
- - vendor/tests/tests/microformats-v2/h-news/minimum.html
426
- - vendor/tests/tests/microformats-v2/h-news/minimum.json
427
- - vendor/tests/tests/microformats-v2/h-org/change-log.html
428
- - vendor/tests/tests/microformats-v2/h-org/hyperlink.html
429
- - vendor/tests/tests/microformats-v2/h-org/hyperlink.json
430
- - vendor/tests/tests/microformats-v2/h-org/simple.html
431
- - vendor/tests/tests/microformats-v2/h-org/simple.json
432
- - vendor/tests/tests/microformats-v2/h-org/simpleproperties.html
433
- - vendor/tests/tests/microformats-v2/h-org/simpleproperties.json
434
- - vendor/tests/tests/microformats-v2/h-product/aggregate.html
435
- - vendor/tests/tests/microformats-v2/h-product/aggregate.json
436
- - vendor/tests/tests/microformats-v2/h-product/change-log.html
437
- - vendor/tests/tests/microformats-v2/h-product/justahyperlink.html
438
- - vendor/tests/tests/microformats-v2/h-product/justahyperlink.json
439
- - vendor/tests/tests/microformats-v2/h-product/justaname.html
440
- - vendor/tests/tests/microformats-v2/h-product/justaname.json
441
- - vendor/tests/tests/microformats-v2/h-product/simpleproperties.html
442
- - vendor/tests/tests/microformats-v2/h-product/simpleproperties.json
443
- - vendor/tests/tests/microformats-v2/h-recipe/all.html
444
- - vendor/tests/tests/microformats-v2/h-recipe/all.json
445
- - vendor/tests/tests/microformats-v2/h-recipe/change-log.html
446
- - vendor/tests/tests/microformats-v2/h-recipe/minimum.html
447
- - vendor/tests/tests/microformats-v2/h-recipe/minimum.json
448
- - vendor/tests/tests/microformats-v2/h-resume/affiliation.html
449
- - vendor/tests/tests/microformats-v2/h-resume/affiliation.json
450
- - vendor/tests/tests/microformats-v2/h-resume/change-log.html
451
- - vendor/tests/tests/microformats-v2/h-resume/contact.html
452
- - vendor/tests/tests/microformats-v2/h-resume/contact.json
453
- - vendor/tests/tests/microformats-v2/h-resume/education.html
454
- - vendor/tests/tests/microformats-v2/h-resume/education.json
455
- - vendor/tests/tests/microformats-v2/h-resume/justaname.html
456
- - vendor/tests/tests/microformats-v2/h-resume/justaname.json
457
- - vendor/tests/tests/microformats-v2/h-resume/skill.html
458
- - vendor/tests/tests/microformats-v2/h-resume/skill.json
459
- - vendor/tests/tests/microformats-v2/h-resume/work.html
460
- - vendor/tests/tests/microformats-v2/h-resume/work.json
461
- - vendor/tests/tests/microformats-v2/h-review-aggregate/change-log.html
462
- - vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.html
463
- - vendor/tests/tests/microformats-v2/h-review-aggregate/hevent.json
464
- - vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.html
465
- - vendor/tests/tests/microformats-v2/h-review-aggregate/justahyperlink.json
466
- - vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.html
467
- - vendor/tests/tests/microformats-v2/h-review-aggregate/simpleproperties.json
468
- - vendor/tests/tests/microformats-v2/h-review/change-log.html
469
- - vendor/tests/tests/microformats-v2/h-review/hyperlink.html
470
- - vendor/tests/tests/microformats-v2/h-review/hyperlink.json
471
- - vendor/tests/tests/microformats-v2/h-review/implieditem.html
472
- - vendor/tests/tests/microformats-v2/h-review/implieditem.json
473
- - vendor/tests/tests/microformats-v2/h-review/item.html
474
- - vendor/tests/tests/microformats-v2/h-review/item.json
475
- - vendor/tests/tests/microformats-v2/h-review/justaname.html
476
- - vendor/tests/tests/microformats-v2/h-review/justaname.json
477
- - vendor/tests/tests/microformats-v2/h-review/photo.html
478
- - vendor/tests/tests/microformats-v2/h-review/photo.json
479
- - vendor/tests/tests/microformats-v2/h-review/vcard.html
480
- - vendor/tests/tests/microformats-v2/h-review/vcard.json
481
- - vendor/tests/tests/microformats-v2/rel/change-log.html
482
- - vendor/tests/tests/microformats-v2/rel/duplicate-rels.html
483
- - vendor/tests/tests/microformats-v2/rel/duplicate-rels.json
484
- - vendor/tests/tests/microformats-v2/rel/license.html
485
- - vendor/tests/tests/microformats-v2/rel/license.json
486
- - vendor/tests/tests/microformats-v2/rel/nofollow.html
487
- - vendor/tests/tests/microformats-v2/rel/nofollow.json
488
- - vendor/tests/tests/microformats-v2/rel/rel-urls.html
489
- - vendor/tests/tests/microformats-v2/rel/rel-urls.json
490
- - vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.html
491
- - vendor/tests/tests/microformats-v2/rel/varying-text-duplicate-rels.json
492
- - vendor/tests/tests/microformats-v2/rel/xfn-all.html
493
- - vendor/tests/tests/microformats-v2/rel/xfn-all.json
494
- - vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.html
495
- - vendor/tests/tests/microformats-v2/rel/xfn-elsewhere.json
496
- homepage: https://github.com/indieweb/microformats-ruby
497
- licenses: []
229
+ homepage: https://github.com/microformats/microformats-ruby
230
+ licenses:
231
+ - CC0-1.0
498
232
  metadata: {}
499
- post_install_message: |2+
500
-
501
-
502
- Previously called "microformats2" (on version 3.1 and below).
503
-
233
+ post_install_message: Prior to version 4.0.0, the microformats gem was named "microformats2."
504
234
  rdoc_options: []
505
235
  require_paths:
506
236
  - lib
@@ -508,75 +238,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
508
238
  requirements:
509
239
  - - ">="
510
240
  - !ruby/object:Gem::Version
511
- version: '2.0'
241
+ version: '2.4'
242
+ - - "<"
243
+ - !ruby/object:Gem::Version
244
+ version: '3.1'
512
245
  required_rubygems_version: !ruby/object:Gem::Requirement
513
246
  requirements:
514
247
  - - ">="
515
248
  - !ruby/object:Gem::Version
516
249
  version: '0'
517
250
  requirements: []
518
- rubyforge_project:
519
- rubygems_version: 2.5.1
520
- signing_key:
251
+ rubygems_version: 3.2.16
252
+ signing_key:
521
253
  specification_version: 4
522
- summary: Microformats and microformats2 parser
523
- test_files:
524
- - spec/lib/microformats/absolute_uri_spec.rb
525
- - spec/lib/microformats/parser_spec.rb
526
- - spec/lib/microformats_spec.rb
527
- - spec/spec_helper.rb
528
- - spec/support/cases/microformats.org/microformats-2/microformats-2-0.html
529
- - spec/support/cases/microformats.org/microformats-2/microformats-2-0.js
530
- - spec/support/cases/microformats.org/microformats-2/microformats-2-1.html
531
- - spec/support/cases/microformats.org/microformats-2/microformats-2-1.js
532
- - spec/support/cases/microformats.org/microformats-2/microformats-2-2.html
533
- - spec/support/cases/microformats.org/microformats-2/microformats-2-2.js
534
- - spec/support/cases/microformats.org/microformats-2/microformats-2-3.html
535
- - spec/support/cases/microformats.org/microformats-2/microformats-2-3.js
536
- - spec/support/cases/microformats.org/microformats-2/microformats-2-4.html
537
- - spec/support/cases/microformats.org/microformats-2/microformats-2-4.js
538
- - spec/support/cases/microformats.org/microformats-2/microformats-2-5.html
539
- - spec/support/cases/microformats.org/microformats-2/microformats-2-5.js
540
- - spec/support/cases/microformats.org/microformats-2/microformats-2-6.html
541
- - spec/support/cases/microformats.org/microformats-2/microformats-2-6.js
542
- - spec/support/cases/microformats.org/microformats-2/microformats-2-7.html
543
- - spec/support/cases/microformats.org/microformats-2/microformats-2-7.js
544
- - spec/support/cases/microformats.org/microformats-2/microformats-2-8.html
545
- - spec/support/cases/microformats.org/microformats-2/microformats-2-8.js
546
- - spec/support/cases/microformats.org/microformats-2/microformats-2-9.html
547
- - spec/support/cases/microformats.org/microformats-2/microformats-2-9.js
548
- - spec/support/lib/edge_cases/blank_href.html
549
- - spec/support/lib/edge_cases/blank_href.js
550
- - spec/support/lib/edge_cases/blank_rel.html
551
- - spec/support/lib/edge_cases/blank_rel.js
552
- - spec/support/lib/edge_cases/blank_src.html
553
- - spec/support/lib/edge_cases/blank_src.js
554
- - spec/support/lib/edge_cases/blank_value.html
555
- - spec/support/lib/edge_cases/blank_value.js
556
- - spec/support/lib/edge_cases/relative.html
557
- - spec/support/lib/edge_cases/relative.js
558
- - spec/support/lib/edge_cases/vcp-dates.html
559
- - spec/support/lib/edge_cases/vcp-dates.js
560
- - spec/support/lib/microformats/blank_href.html
561
- - spec/support/lib/microformats/blank_href.js
562
- - spec/support/lib/microformats/implied_property/name-fail.html
563
- - spec/support/lib/microformats/implied_property/name-pass.html
564
- - spec/support/lib/microformats/implied_property/photo-fail.html
565
- - spec/support/lib/microformats/implied_property/photo-pass.html
566
- - spec/support/lib/microformats/implied_property/url-fail.html
567
- - spec/support/lib/microformats/implied_property/url-pass.html
568
- - spec/support/lib/microformats/implied_property/url-relative.html
569
- - spec/support/lib/microformats/implied_property/url-unnormalized.html
570
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.html
571
- - spec/support/lib/microformats/nested-format-with-property-of-same-name.js
572
- - spec/support/lib/microformats/nested-format-with-property.html
573
- - spec/support/lib/microformats/nested-format-with-property.js
574
- - spec/support/lib/microformats/nested-format-without-property.html
575
- - spec/support/lib/microformats/nested-property.html
576
- - spec/support/lib/microformats/nested-property.js
577
- - spec/support/lib/microformats/rels-that-drop-the-base.html
578
- - spec/support/lib/microformats/rels-with-unnormalized-urls.html
579
- - spec/support/lib/microformats/rels.html
580
- - spec/support/lib/microformats/rels.js
581
- - spec/support/lib/microformats/simple.html
582
- - spec/support/lib/microformats/simple.js
254
+ summary: Microformats2 and classic microformats parser
255
+ test_files: []