microformats 4.0.7 → 4.0.9

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 (366) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +10 -0
  3. data/.gitignore +33 -15
  4. data/.rspec +3 -2
  5. data/.rubocop +3 -0
  6. data/.rubocop.yml +25 -0
  7. data/.ruby-version +1 -0
  8. data/.simplecov +11 -0
  9. data/.travis.yml +14 -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 +38 -38
  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 +140 -442
  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.0.9'.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.6']
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', '>= 1.16.2'
27
+ spec.add_development_dependency 'guard-rspec', '~> 4.7', '>= 4.7.3'
28
+ spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.1'
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.58.2'
32
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.27'
33
+ spec.add_development_dependency 'simplecov', '~> 0.16.1'
34
+ spec.add_development_dependency 'simplecov-console', '~> 0.4.2'
35
+ spec.add_development_dependency 'webmock', '~> 3.4', '>= 3.4.2'
36
+
37
+ spec.add_runtime_dependency 'json', '~> 2.1'
38
+ spec.add_runtime_dependency 'nokogiri', '~> 1.8', '>= 1.8.3'
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.7
4
+ version: 4.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Becker
@@ -10,123 +10,209 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-06-25 00:00:00.000000000 Z
13
+ date: 2018-08-27 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
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.16'
19
22
  - - ">="
20
23
  - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
24
+ version: 1.16.2
25
+ type: :development
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  requirements:
29
+ - - "~>"
30
+ - !ruby/object:Gem::Version
31
+ version: '1.16'
26
32
  - - ">="
27
33
  - !ruby/object:Gem::Version
28
- version: '0'
34
+ version: 1.16.2
29
35
  - !ruby/object:Gem::Dependency
30
- name: json
36
+ name: guard-rspec
31
37
  requirement: !ruby/object:Gem::Requirement
32
38
  requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '4.7'
33
42
  - - ">="
34
43
  - !ruby/object:Gem::Version
35
- version: '0'
36
- type: :runtime
44
+ version: 4.7.3
45
+ type: :development
37
46
  prerelease: false
38
47
  version_requirements: !ruby/object:Gem::Requirement
39
48
  requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: '4.7'
40
52
  - - ">="
41
53
  - !ruby/object:Gem::Version
42
- version: '0'
54
+ version: 4.7.3
43
55
  - !ruby/object:Gem::Dependency
44
56
  name: rake
45
57
  requirement: !ruby/object:Gem::Requirement
46
58
  requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '12.3'
47
62
  - - ">="
48
63
  - !ruby/object:Gem::Version
49
- version: '0'
64
+ version: 12.3.1
50
65
  type: :development
51
66
  prerelease: false
52
67
  version_requirements: !ruby/object:Gem::Requirement
53
68
  requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '12.3'
54
72
  - - ">="
55
73
  - !ruby/object:Gem::Version
56
- version: '0'
74
+ version: 12.3.1
75
+ - !ruby/object:Gem::Dependency
76
+ name: rb-fsevent
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.10.3
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 0.10.3
57
89
  - !ruby/object:Gem::Dependency
58
90
  name: rspec
59
91
  requirement: !ruby/object:Gem::Requirement
60
92
  requirements:
61
- - - ">="
93
+ - - "~>"
62
94
  - !ruby/object:Gem::Version
63
- version: '0'
95
+ version: '3.8'
64
96
  type: :development
65
97
  prerelease: false
66
98
  version_requirements: !ruby/object:Gem::Requirement
67
99
  requirements:
68
- - - ">="
100
+ - - "~>"
69
101
  - !ruby/object:Gem::Version
70
- version: '0'
102
+ version: '3.8'
71
103
  - !ruby/object:Gem::Dependency
72
- name: guard-rspec
104
+ name: rubocop
73
105
  requirement: !ruby/object:Gem::Requirement
74
106
  requirements:
75
- - - ">="
107
+ - - "~>"
76
108
  - !ruby/object:Gem::Version
77
- version: '0'
109
+ version: 0.58.2
78
110
  type: :development
79
111
  prerelease: false
80
112
  version_requirements: !ruby/object:Gem::Requirement
81
113
  requirements:
82
- - - ">="
114
+ - - "~>"
83
115
  - !ruby/object:Gem::Version
84
- version: '0'
116
+ version: 0.58.2
85
117
  - !ruby/object:Gem::Dependency
86
- name: rb-fsevent
118
+ name: rubocop-rspec
87
119
  requirement: !ruby/object:Gem::Requirement
88
120
  requirements:
89
- - - ">="
121
+ - - "~>"
90
122
  - !ruby/object:Gem::Version
91
- version: '0'
123
+ version: '1.27'
92
124
  type: :development
93
125
  prerelease: false
94
126
  version_requirements: !ruby/object:Gem::Requirement
95
127
  requirements:
96
- - - ">="
128
+ - - "~>"
97
129
  - !ruby/object:Gem::Version
98
- version: '0'
130
+ version: '1.27'
99
131
  - !ruby/object:Gem::Dependency
100
132
  name: simplecov
101
133
  requirement: !ruby/object:Gem::Requirement
102
134
  requirements:
103
- - - ">="
135
+ - - "~>"
104
136
  - !ruby/object:Gem::Version
105
- version: '0'
137
+ version: 0.16.1
106
138
  type: :development
107
139
  prerelease: false
108
140
  version_requirements: !ruby/object:Gem::Requirement
109
141
  requirements:
110
- - - ">="
142
+ - - "~>"
111
143
  - !ruby/object:Gem::Version
112
- version: '0'
144
+ version: 0.16.1
145
+ - !ruby/object:Gem::Dependency
146
+ name: simplecov-console
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 0.4.2
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 0.4.2
113
159
  - !ruby/object:Gem::Dependency
114
160
  name: webmock
115
161
  requirement: !ruby/object:Gem::Requirement
116
162
  requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '3.4'
117
166
  - - ">="
118
167
  - !ruby/object:Gem::Version
119
- version: '0'
168
+ version: 3.4.2
120
169
  type: :development
121
170
  prerelease: false
122
171
  version_requirements: !ruby/object:Gem::Requirement
123
172
  requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '3.4'
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 3.4.2
179
+ - !ruby/object:Gem::Dependency
180
+ name: json
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '2.1'
186
+ type: :runtime
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: '2.1'
193
+ - !ruby/object:Gem::Dependency
194
+ name: nokogiri
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '1.8'
124
200
  - - ">="
125
201
  - !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.
202
+ version: 1.8.3
203
+ type: :runtime
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '1.8'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 1.8.3
213
+ description: A Ruby gem to parse HTML containing microformats2 and classic microformats
214
+ that returns a collection of dynamically defined Ruby objects, a Ruby hash, or a
215
+ JSON hash.
130
216
  email:
131
217
  - veganstraightedge@gmail.com
132
218
  - jlsuttles@gmail.com
@@ -136,12 +222,18 @@ executables:
136
222
  extensions: []
137
223
  extra_rdoc_files: []
138
224
  files:
225
+ - ".editorconfig"
139
226
  - ".gitignore"
140
227
  - ".rspec"
228
+ - ".rubocop"
229
+ - ".rubocop.yml"
230
+ - ".ruby-version"
231
+ - ".simplecov"
141
232
  - ".travis.yml"
233
+ - CONTRIBUTING.md
142
234
  - Gemfile
143
235
  - Guardfile
144
- - LICENSE.md
236
+ - LICENSE
145
237
  - README.md
146
238
  - Rakefile
147
239
  - bin/microformats
@@ -156,351 +248,13 @@ files:
156
248
  - lib/microformats/results/property_set.rb
157
249
  - lib/microformats/time_property_parser.rb
158
250
  - lib/microformats/version.rb
251
+ - logo.svg
159
252
  - 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: []
253
+ homepage: https://github.com/microformats/microformats-ruby
254
+ licenses:
255
+ - CC0-1.0
498
256
  metadata: {}
499
- post_install_message: |2+
500
-
501
-
502
- Previously called "microformats2" (on version 3.1 and below).
503
-
257
+ post_install_message: Prior to version 4.0.0, the microformats gem was named "microformats2."
504
258
  rdoc_options: []
505
259
  require_paths:
506
260
  - lib
@@ -508,7 +262,10 @@ required_ruby_version: !ruby/object:Gem::Requirement
508
262
  requirements:
509
263
  - - ">="
510
264
  - !ruby/object:Gem::Version
511
- version: '2.0'
265
+ version: '2.4'
266
+ - - "<"
267
+ - !ruby/object:Gem::Version
268
+ version: '2.6'
512
269
  required_rubygems_version: !ruby/object:Gem::Requirement
513
270
  requirements:
514
271
  - - ">="
@@ -516,67 +273,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
516
273
  version: '0'
517
274
  requirements: []
518
275
  rubyforge_project:
519
- rubygems_version: 2.5.1
276
+ rubygems_version: 2.6.14.1
520
277
  signing_key:
521
278
  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
279
+ summary: Microformats2 and classic microformats parser
280
+ test_files: []