mida 0.3.2 → 0.3.3

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 (322) hide show
  1. data/CHANGELOG.rdoc +8 -0
  2. data/{LICENSE.rdoc → LICENCE.rdoc} +1 -1
  3. data/README.rdoc +2 -2
  4. data/Rakefile +4 -3
  5. data/bin/mida +13 -3
  6. data/lib/mida.rb +2 -1
  7. data/lib/mida/datatype.rb +2 -0
  8. data/lib/mida/datatype/boolean.rb +21 -9
  9. data/lib/mida/datatype/enumeration.rb +28 -0
  10. data/lib/mida/datatype/float.rb +8 -5
  11. data/lib/mida/datatype/generic.rb +33 -0
  12. data/lib/mida/datatype/integer.rb +5 -5
  13. data/lib/mida/datatype/iso8601date.rb +12 -6
  14. data/lib/mida/datatype/number.rb +6 -5
  15. data/lib/mida/datatype/text.rb +5 -3
  16. data/lib/mida/datatype/url.rb +20 -0
  17. data/lib/mida/document.rb +4 -5
  18. data/lib/mida/item.rb +3 -4
  19. data/lib/mida/{genericvocabulary.rb → vocabularies/genericvocabulary.rb} +0 -0
  20. data/lib/mida/vocabularies/schemaorg.rb +1 -0
  21. data/lib/mida/vocabularies/schemaorg/aboutpage.rb +19 -0
  22. data/lib/mida/vocabularies/schemaorg/accountingservice.rb +21 -0
  23. data/lib/mida/vocabularies/schemaorg/administrativearea.rb +17 -0
  24. data/lib/mida/vocabularies/schemaorg/adultentertainment.rb +21 -0
  25. data/lib/mida/vocabularies/schemaorg/aggregateoffer.rb +34 -0
  26. data/lib/mida/vocabularies/schemaorg/aggregaterating.rb +33 -0
  27. data/lib/mida/vocabularies/schemaorg/airport.rb +19 -0
  28. data/lib/mida/vocabularies/schemaorg/amusementpark.rb +21 -0
  29. data/lib/mida/vocabularies/schemaorg/animalshelter.rb +21 -0
  30. data/lib/mida/vocabularies/schemaorg/apartmentcomplex.rb +17 -0
  31. data/lib/mida/vocabularies/schemaorg/aquarium.rb +19 -0
  32. data/lib/mida/vocabularies/schemaorg/artgallery.rb +21 -0
  33. data/lib/mida/vocabularies/schemaorg/article.rb +23 -0
  34. data/lib/mida/vocabularies/schemaorg/attorney.rb +21 -0
  35. data/lib/mida/vocabularies/schemaorg/audioobject.rb +19 -0
  36. data/lib/mida/vocabularies/schemaorg/autobodyshop.rb +21 -0
  37. data/lib/mida/vocabularies/schemaorg/autodealer.rb +21 -0
  38. data/lib/mida/vocabularies/schemaorg/automatedteller.rb +21 -0
  39. data/lib/mida/vocabularies/schemaorg/automotivebusiness.rb +21 -0
  40. data/lib/mida/vocabularies/schemaorg/autopartsstore.rb +21 -0
  41. data/lib/mida/vocabularies/schemaorg/autorental.rb +21 -0
  42. data/lib/mida/vocabularies/schemaorg/autorepair.rb +21 -0
  43. data/lib/mida/vocabularies/schemaorg/autowash.rb +21 -0
  44. data/lib/mida/vocabularies/schemaorg/bakery.rb +23 -0
  45. data/lib/mida/vocabularies/schemaorg/bankorcreditunion.rb +21 -0
  46. data/lib/mida/vocabularies/schemaorg/barorpub.rb +23 -0
  47. data/lib/mida/vocabularies/schemaorg/beach.rb +19 -0
  48. data/lib/mida/vocabularies/schemaorg/beautysalon.rb +21 -0
  49. data/lib/mida/vocabularies/schemaorg/bedandbreakfast.rb +21 -0
  50. data/lib/mida/vocabularies/schemaorg/bikestore.rb +21 -0
  51. data/lib/mida/vocabularies/schemaorg/blog.rb +24 -0
  52. data/lib/mida/vocabularies/schemaorg/blogposting.rb +19 -0
  53. data/lib/mida/vocabularies/schemaorg/bodyofwater.rb +17 -0
  54. data/lib/mida/vocabularies/schemaorg/book.rb +41 -0
  55. data/lib/mida/vocabularies/schemaorg/bookformattype.rb +16 -0
  56. data/lib/mida/vocabularies/schemaorg/bookstore.rb +21 -0
  57. data/lib/mida/vocabularies/schemaorg/bowlingalley.rb +21 -0
  58. data/lib/mida/vocabularies/schemaorg/brewery.rb +23 -0
  59. data/lib/mida/vocabularies/schemaorg/buddhisttemple.rb +19 -0
  60. data/lib/mida/vocabularies/schemaorg/businessevent.rb +17 -0
  61. data/lib/mida/vocabularies/schemaorg/busstation.rb +19 -0
  62. data/lib/mida/vocabularies/schemaorg/busstop.rb +19 -0
  63. data/lib/mida/vocabularies/schemaorg/cafeorcoffeeshop.rb +23 -0
  64. data/lib/mida/vocabularies/schemaorg/campground.rb +19 -0
  65. data/lib/mida/vocabularies/schemaorg/canal.rb +17 -0
  66. data/lib/mida/vocabularies/schemaorg/casino.rb +21 -0
  67. data/lib/mida/vocabularies/schemaorg/catholicchurch.rb +19 -0
  68. data/lib/mida/vocabularies/schemaorg/cemetery.rb +19 -0
  69. data/lib/mida/vocabularies/schemaorg/checkoutpage.rb +19 -0
  70. data/lib/mida/vocabularies/schemaorg/childcare.rb +21 -0
  71. data/lib/mida/vocabularies/schemaorg/childrensevent.rb +17 -0
  72. data/lib/mida/vocabularies/schemaorg/church.rb +19 -0
  73. data/lib/mida/vocabularies/schemaorg/city.rb +17 -0
  74. data/lib/mida/vocabularies/schemaorg/cityhall.rb +19 -0
  75. data/lib/mida/vocabularies/schemaorg/civicstructure.rb +24 -0
  76. data/lib/mida/vocabularies/schemaorg/clothingstore.rb +21 -0
  77. data/lib/mida/vocabularies/schemaorg/collectionpage.rb +19 -0
  78. data/lib/mida/vocabularies/schemaorg/collegeoruniversity.rb +19 -0
  79. data/lib/mida/vocabularies/schemaorg/comedyclub.rb +21 -0
  80. data/lib/mida/vocabularies/schemaorg/comedyevent.rb +17 -0
  81. data/lib/mida/vocabularies/schemaorg/computerstore.rb +21 -0
  82. data/lib/mida/vocabularies/schemaorg/contactpage.rb +19 -0
  83. data/lib/mida/vocabularies/schemaorg/contactpoint.rb +27 -0
  84. data/lib/mida/vocabularies/schemaorg/continent.rb +17 -0
  85. data/lib/mida/vocabularies/schemaorg/conveniencestore.rb +21 -0
  86. data/lib/mida/vocabularies/schemaorg/corporation.rb +17 -0
  87. data/lib/mida/vocabularies/schemaorg/country.rb +17 -0
  88. data/lib/mida/vocabularies/schemaorg/courthouse.rb +19 -0
  89. data/lib/mida/vocabularies/schemaorg/creativework.rb +122 -0
  90. data/lib/mida/vocabularies/schemaorg/crematorium.rb +19 -0
  91. data/lib/mida/vocabularies/schemaorg/danceevent.rb +17 -0
  92. data/lib/mida/vocabularies/schemaorg/dancegroup.rb +17 -0
  93. data/lib/mida/vocabularies/schemaorg/dayspa.rb +21 -0
  94. data/lib/mida/vocabularies/schemaorg/defenceestablishment.rb +19 -0
  95. data/lib/mida/vocabularies/schemaorg/dentist.rb +21 -0
  96. data/lib/mida/vocabularies/schemaorg/departmentstore.rb +21 -0
  97. data/lib/mida/vocabularies/schemaorg/distance.rb +15 -0
  98. data/lib/mida/vocabularies/schemaorg/drycleaningorlaundry.rb +21 -0
  99. data/lib/mida/vocabularies/schemaorg/duration.rb +13 -0
  100. data/lib/mida/vocabularies/schemaorg/educationalorganization.rb +24 -0
  101. data/lib/mida/vocabularies/schemaorg/educationevent.rb +17 -0
  102. data/lib/mida/vocabularies/schemaorg/electrician.rb +21 -0
  103. data/lib/mida/vocabularies/schemaorg/electronicsstore.rb +21 -0
  104. data/lib/mida/vocabularies/schemaorg/elementaryschool.rb +19 -0
  105. data/lib/mida/vocabularies/schemaorg/embassy.rb +19 -0
  106. data/lib/mida/vocabularies/schemaorg/emergencyservice.rb +21 -0
  107. data/lib/mida/vocabularies/schemaorg/employmentagency.rb +21 -0
  108. data/lib/mida/vocabularies/schemaorg/energy.rb +15 -0
  109. data/lib/mida/vocabularies/schemaorg/entertainmentbusiness.rb +21 -0
  110. data/lib/mida/vocabularies/schemaorg/enumeration.rb +15 -0
  111. data/lib/mida/vocabularies/schemaorg/event.rb +77 -0
  112. data/lib/mida/vocabularies/schemaorg/eventvenue.rb +19 -0
  113. data/lib/mida/vocabularies/schemaorg/exercisegym.rb +21 -0
  114. data/lib/mida/vocabularies/schemaorg/fastfoodrestaurant.rb +23 -0
  115. data/lib/mida/vocabularies/schemaorg/festival.rb +17 -0
  116. data/lib/mida/vocabularies/schemaorg/financialservice.rb +21 -0
  117. data/lib/mida/vocabularies/schemaorg/firestation.rb +23 -0
  118. data/lib/mida/vocabularies/schemaorg/florist.rb +21 -0
  119. data/lib/mida/vocabularies/schemaorg/foodestablishment.rb +36 -0
  120. data/lib/mida/vocabularies/schemaorg/foodevent.rb +17 -0
  121. data/lib/mida/vocabularies/schemaorg/furniturestore.rb +21 -0
  122. data/lib/mida/vocabularies/schemaorg/gardenstore.rb +21 -0
  123. data/lib/mida/vocabularies/schemaorg/gasstation.rb +21 -0
  124. data/lib/mida/vocabularies/schemaorg/gatedresidencecommunity.rb +17 -0
  125. data/lib/mida/vocabularies/schemaorg/generalcontractor.rb +21 -0
  126. data/lib/mida/vocabularies/schemaorg/geocoordinates.rb +33 -0
  127. data/lib/mida/vocabularies/schemaorg/golfcourse.rb +21 -0
  128. data/lib/mida/vocabularies/schemaorg/governmentbuilding.rb +19 -0
  129. data/lib/mida/vocabularies/schemaorg/governmentoffice.rb +21 -0
  130. data/lib/mida/vocabularies/schemaorg/governmentorganization.rb +17 -0
  131. data/lib/mida/vocabularies/schemaorg/grocerystore.rb +21 -0
  132. data/lib/mida/vocabularies/schemaorg/hairsalon.rb +21 -0
  133. data/lib/mida/vocabularies/schemaorg/hardwarestore.rb +21 -0
  134. data/lib/mida/vocabularies/schemaorg/healthandbeautybusiness.rb +21 -0
  135. data/lib/mida/vocabularies/schemaorg/healthclub.rb +21 -0
  136. data/lib/mida/vocabularies/schemaorg/highschool.rb +19 -0
  137. data/lib/mida/vocabularies/schemaorg/hindutemple.rb +19 -0
  138. data/lib/mida/vocabularies/schemaorg/hobbyshop.rb +21 -0
  139. data/lib/mida/vocabularies/schemaorg/homeandconstructionbusiness.rb +21 -0
  140. data/lib/mida/vocabularies/schemaorg/homegoodsstore.rb +21 -0
  141. data/lib/mida/vocabularies/schemaorg/hospital.rb +23 -0
  142. data/lib/mida/vocabularies/schemaorg/hostel.rb +21 -0
  143. data/lib/mida/vocabularies/schemaorg/hotel.rb +21 -0
  144. data/lib/mida/vocabularies/schemaorg/housepainter.rb +21 -0
  145. data/lib/mida/vocabularies/schemaorg/hvacbusiness.rb +21 -0
  146. data/lib/mida/vocabularies/schemaorg/icecreamshop.rb +23 -0
  147. data/lib/mida/vocabularies/schemaorg/imagegallery.rb +19 -0
  148. data/lib/mida/vocabularies/schemaorg/imageobject.rb +37 -0
  149. data/lib/mida/vocabularies/schemaorg/insuranceagency.rb +21 -0
  150. data/lib/mida/vocabularies/schemaorg/intangible.rb +15 -0
  151. data/lib/mida/vocabularies/schemaorg/internetcafe.rb +21 -0
  152. data/lib/mida/vocabularies/schemaorg/itemavailability.rb +19 -0
  153. data/lib/mida/vocabularies/schemaorg/itemlist.rb +20 -0
  154. data/lib/mida/vocabularies/schemaorg/itempage.rb +19 -0
  155. data/lib/mida/vocabularies/schemaorg/jewelrystore.rb +21 -0
  156. data/lib/mida/vocabularies/schemaorg/lakebodyofwater.rb +17 -0
  157. data/lib/mida/vocabularies/schemaorg/landform.rb +17 -0
  158. data/lib/mida/vocabularies/schemaorg/landmarksorhistoricalbuildings.rb +17 -0
  159. data/lib/mida/vocabularies/schemaorg/language.rb +15 -0
  160. data/lib/mida/vocabularies/schemaorg/legislativebuilding.rb +19 -0
  161. data/lib/mida/vocabularies/schemaorg/library.rb +21 -0
  162. data/lib/mida/vocabularies/schemaorg/liquorstore.rb +21 -0
  163. data/lib/mida/vocabularies/schemaorg/literaryevent.rb +17 -0
  164. data/lib/mida/vocabularies/schemaorg/localbusiness.rb +41 -0
  165. data/lib/mida/vocabularies/schemaorg/locksmith.rb +21 -0
  166. data/lib/mida/vocabularies/schemaorg/lodgingbusiness.rb +21 -0
  167. data/lib/mida/vocabularies/schemaorg/map.rb +17 -0
  168. data/lib/mida/vocabularies/schemaorg/mass.rb +15 -0
  169. data/lib/mida/vocabularies/schemaorg/mediaobject.rb +87 -0
  170. data/lib/mida/vocabularies/schemaorg/medicalclinic.rb +21 -0
  171. data/lib/mida/vocabularies/schemaorg/medicalorganization.rb +21 -0
  172. data/lib/mida/vocabularies/schemaorg/mensclothingstore.rb +21 -0
  173. data/lib/mida/vocabularies/schemaorg/middleschool.rb +19 -0
  174. data/lib/mida/vocabularies/schemaorg/mobilephonestore.rb +21 -0
  175. data/lib/mida/vocabularies/schemaorg/mosque.rb +19 -0
  176. data/lib/mida/vocabularies/schemaorg/motel.rb +21 -0
  177. data/lib/mida/vocabularies/schemaorg/motorcycledealer.rb +21 -0
  178. data/lib/mida/vocabularies/schemaorg/motorcyclerepair.rb +21 -0
  179. data/lib/mida/vocabularies/schemaorg/mountain.rb +17 -0
  180. data/lib/mida/vocabularies/schemaorg/movie.rb +65 -0
  181. data/lib/mida/vocabularies/schemaorg/movierentalstore.rb +21 -0
  182. data/lib/mida/vocabularies/schemaorg/movietheater.rb +23 -0
  183. data/lib/mida/vocabularies/schemaorg/movingcompany.rb +21 -0
  184. data/lib/mida/vocabularies/schemaorg/museum.rb +19 -0
  185. data/lib/mida/vocabularies/schemaorg/musicalbum.rb +26 -0
  186. data/lib/mida/vocabularies/schemaorg/musicevent.rb +17 -0
  187. data/lib/mida/vocabularies/schemaorg/musicgroup.rb +38 -0
  188. data/lib/mida/vocabularies/schemaorg/musicplaylist.rb +29 -0
  189. data/lib/mida/vocabularies/schemaorg/musicrecording.rb +45 -0
  190. data/lib/mida/vocabularies/schemaorg/musicstore.rb +21 -0
  191. data/lib/mida/vocabularies/schemaorg/musicvenue.rb +19 -0
  192. data/lib/mida/vocabularies/schemaorg/musicvideoobject.rb +19 -0
  193. data/lib/mida/vocabularies/schemaorg/nailsalon.rb +21 -0
  194. data/lib/mida/vocabularies/schemaorg/newsarticle.rb +19 -0
  195. data/lib/mida/vocabularies/schemaorg/ngo.rb +17 -0
  196. data/lib/mida/vocabularies/schemaorg/nightclub.rb +21 -0
  197. data/lib/mida/vocabularies/schemaorg/notary.rb +21 -0
  198. data/lib/mida/vocabularies/schemaorg/nutritioninformation.rb +86 -0
  199. data/lib/mida/vocabularies/schemaorg/oceanbodyofwater.rb +17 -0
  200. data/lib/mida/vocabularies/schemaorg/offer.rb +69 -0
  201. data/lib/mida/vocabularies/schemaorg/offeritemcondition.rb +17 -0
  202. data/lib/mida/vocabularies/schemaorg/officeequipmentstore.rb +21 -0
  203. data/lib/mida/vocabularies/schemaorg/optician.rb +21 -0
  204. data/lib/mida/vocabularies/schemaorg/organization.rb +96 -0
  205. data/lib/mida/vocabularies/schemaorg/outletstore.rb +21 -0
  206. data/lib/mida/vocabularies/schemaorg/painting.rb +17 -0
  207. data/lib/mida/vocabularies/schemaorg/park.rb +19 -0
  208. data/lib/mida/vocabularies/schemaorg/parkingfacility.rb +19 -0
  209. data/lib/mida/vocabularies/schemaorg/pawnshop.rb +21 -0
  210. data/lib/mida/vocabularies/schemaorg/performingartstheater.rb +19 -0
  211. data/lib/mida/vocabularies/schemaorg/performinggroup.rb +17 -0
  212. data/lib/mida/vocabularies/schemaorg/person.rb +164 -0
  213. data/lib/mida/vocabularies/schemaorg/petstore.rb +21 -0
  214. data/lib/mida/vocabularies/schemaorg/pharmacy.rb +21 -0
  215. data/lib/mida/vocabularies/schemaorg/photograph.rb +17 -0
  216. data/lib/mida/vocabularies/schemaorg/physician.rb +21 -0
  217. data/lib/mida/vocabularies/schemaorg/place.rb +80 -0
  218. data/lib/mida/vocabularies/schemaorg/placeofworship.rb +19 -0
  219. data/lib/mida/vocabularies/schemaorg/playground.rb +19 -0
  220. data/lib/mida/vocabularies/schemaorg/plumber.rb +21 -0
  221. data/lib/mida/vocabularies/schemaorg/policestation.rb +23 -0
  222. data/lib/mida/vocabularies/schemaorg/pond.rb +17 -0
  223. data/lib/mida/vocabularies/schemaorg/postaladdress.rb +39 -0
  224. data/lib/mida/vocabularies/schemaorg/postoffice.rb +21 -0
  225. data/lib/mida/vocabularies/schemaorg/preschool.rb +19 -0
  226. data/lib/mida/vocabularies/schemaorg/product.rb +55 -0
  227. data/lib/mida/vocabularies/schemaorg/professionalservice.rb +21 -0
  228. data/lib/mida/vocabularies/schemaorg/profilepage.rb +19 -0
  229. data/lib/mida/vocabularies/schemaorg/publicswimmingpool.rb +21 -0
  230. data/lib/mida/vocabularies/schemaorg/quantity.rb +15 -0
  231. data/lib/mida/vocabularies/schemaorg/radiostation.rb +21 -0
  232. data/lib/mida/vocabularies/schemaorg/rating.rb +30 -0
  233. data/lib/mida/vocabularies/schemaorg/realestateagent.rb +21 -0
  234. data/lib/mida/vocabularies/schemaorg/recipe.rb +61 -0
  235. data/lib/mida/vocabularies/schemaorg/recyclingcenter.rb +21 -0
  236. data/lib/mida/vocabularies/schemaorg/reservoir.rb +17 -0
  237. data/lib/mida/vocabularies/schemaorg/residence.rb +17 -0
  238. data/lib/mida/vocabularies/schemaorg/restaurant.rb +23 -0
  239. data/lib/mida/vocabularies/schemaorg/review.rb +33 -0
  240. data/lib/mida/vocabularies/schemaorg/riverbodyofwater.rb +17 -0
  241. data/lib/mida/vocabularies/schemaorg/roofingcontractor.rb +21 -0
  242. data/lib/mida/vocabularies/schemaorg/rvpark.rb +19 -0
  243. data/lib/mida/vocabularies/schemaorg/saleevent.rb +17 -0
  244. data/lib/mida/vocabularies/schemaorg/scholarlyarticle.rb +19 -0
  245. data/lib/mida/vocabularies/schemaorg/school.rb +19 -0
  246. data/lib/mida/vocabularies/schemaorg/sculpture.rb +17 -0
  247. data/lib/mida/vocabularies/schemaorg/seabodyofwater.rb +17 -0
  248. data/lib/mida/vocabularies/schemaorg/searchresultspage.rb +19 -0
  249. data/lib/mida/vocabularies/schemaorg/selfstorage.rb +21 -0
  250. data/lib/mida/vocabularies/schemaorg/shoestore.rb +21 -0
  251. data/lib/mida/vocabularies/schemaorg/shoppingcenter.rb +21 -0
  252. data/lib/mida/vocabularies/schemaorg/singlefamilyresidence.rb +17 -0
  253. data/lib/mida/vocabularies/schemaorg/sitenavigationelement.rb +17 -0
  254. data/lib/mida/vocabularies/schemaorg/skiresort.rb +21 -0
  255. data/lib/mida/vocabularies/schemaorg/socialevent.rb +17 -0
  256. data/lib/mida/vocabularies/schemaorg/sportinggoodsstore.rb +21 -0
  257. data/lib/mida/vocabularies/schemaorg/sportsactivitylocation.rb +21 -0
  258. data/lib/mida/vocabularies/schemaorg/sportsclub.rb +21 -0
  259. data/lib/mida/vocabularies/schemaorg/sportsevent.rb +17 -0
  260. data/lib/mida/vocabularies/schemaorg/sportsteam.rb +17 -0
  261. data/lib/mida/vocabularies/schemaorg/stadiumorarena.rb +23 -0
  262. data/lib/mida/vocabularies/schemaorg/state.rb +17 -0
  263. data/lib/mida/vocabularies/schemaorg/store.rb +21 -0
  264. data/lib/mida/vocabularies/schemaorg/structuredvalue.rb +15 -0
  265. data/lib/mida/vocabularies/schemaorg/subwaystation.rb +19 -0
  266. data/lib/mida/vocabularies/schemaorg/synagogue.rb +19 -0
  267. data/lib/mida/vocabularies/schemaorg/table.rb +17 -0
  268. data/lib/mida/vocabularies/schemaorg/tattooparlor.rb +21 -0
  269. data/lib/mida/vocabularies/schemaorg/taxistand.rb +19 -0
  270. data/lib/mida/vocabularies/schemaorg/televisionstation.rb +21 -0
  271. data/lib/mida/vocabularies/schemaorg/tenniscomplex.rb +21 -0
  272. data/lib/mida/vocabularies/schemaorg/theaterevent.rb +17 -0
  273. data/lib/mida/vocabularies/schemaorg/theatergroup.rb +17 -0
  274. data/lib/mida/vocabularies/schemaorg/thing.rb +29 -0
  275. data/lib/mida/vocabularies/schemaorg/tireshop.rb +21 -0
  276. data/lib/mida/vocabularies/schemaorg/touristattraction.rb +17 -0
  277. data/lib/mida/vocabularies/schemaorg/touristinformationcenter.rb +21 -0
  278. data/lib/mida/vocabularies/schemaorg/toystore.rb +21 -0
  279. data/lib/mida/vocabularies/schemaorg/trainstation.rb +19 -0
  280. data/lib/mida/vocabularies/schemaorg/travelagency.rb +21 -0
  281. data/lib/mida/vocabularies/schemaorg/tvepisode.rb +77 -0
  282. data/lib/mida/vocabularies/schemaorg/tvseason.rb +58 -0
  283. data/lib/mida/vocabularies/schemaorg/tvseries.rb +87 -0
  284. data/lib/mida/vocabularies/schemaorg/userblocks.rb +17 -0
  285. data/lib/mida/vocabularies/schemaorg/usercheckins.rb +17 -0
  286. data/lib/mida/vocabularies/schemaorg/usercomments.rb +17 -0
  287. data/lib/mida/vocabularies/schemaorg/userdownloads.rb +17 -0
  288. data/lib/mida/vocabularies/schemaorg/userinteraction.rb +17 -0
  289. data/lib/mida/vocabularies/schemaorg/userlikes.rb +17 -0
  290. data/lib/mida/vocabularies/schemaorg/userpagevisits.rb +17 -0
  291. data/lib/mida/vocabularies/schemaorg/userplays.rb +17 -0
  292. data/lib/mida/vocabularies/schemaorg/userplusones.rb +17 -0
  293. data/lib/mida/vocabularies/schemaorg/usertweets.rb +17 -0
  294. data/lib/mida/vocabularies/schemaorg/veterinarycare.rb +21 -0
  295. data/lib/mida/vocabularies/schemaorg/videogallery.rb +19 -0
  296. data/lib/mida/vocabularies/schemaorg/videoobject.rb +42 -0
  297. data/lib/mida/vocabularies/schemaorg/visualartsevent.rb +17 -0
  298. data/lib/mida/vocabularies/schemaorg/volcano.rb +17 -0
  299. data/lib/mida/vocabularies/schemaorg/waterfall.rb +17 -0
  300. data/lib/mida/vocabularies/schemaorg/webpage.rb +46 -0
  301. data/lib/mida/vocabularies/schemaorg/webpageelement.rb +17 -0
  302. data/lib/mida/vocabularies/schemaorg/wholesalestore.rb +21 -0
  303. data/lib/mida/vocabularies/schemaorg/winery.rb +23 -0
  304. data/lib/mida/vocabularies/schemaorg/wpadblock.rb +17 -0
  305. data/lib/mida/vocabularies/schemaorg/wpfooter.rb +17 -0
  306. data/lib/mida/vocabularies/schemaorg/wpheader.rb +17 -0
  307. data/lib/mida/vocabularies/schemaorg/wpsidebar.rb +17 -0
  308. data/lib/mida/vocabularies/schemaorg/zoo.rb +19 -0
  309. data/lib/mida/vocabulary.rb +11 -6
  310. data/spec/datatype/boolean_spec.rb +21 -8
  311. data/spec/datatype/enumeration_spec.rb +30 -0
  312. data/spec/datatype/float_spec.rb +8 -10
  313. data/spec/datatype/generic_spec.rb +44 -0
  314. data/spec/datatype/integer_spec.rb +11 -8
  315. data/spec/datatype/iso8601date_spec.rb +15 -8
  316. data/spec/datatype/number_spec.rb +8 -10
  317. data/spec/datatype/text_spec.rb +8 -6
  318. data/spec/datatype/url_spec.rb +27 -0
  319. data/spec/document_spec.rb +0 -21
  320. data/spec/item_spec.rb +41 -48
  321. data/spec/vocabulary_spec.rb +51 -0
  322. metadata +316 -10
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Event, 'mida/vocabularies/schemaorg/event'
8
+
9
+ # User interaction: Play count of an item, for example a video or a song.
10
+ class UserPlays < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/UserPlays}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::Event
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Event, 'mida/vocabularies/schemaorg/event'
8
+
9
+ # User interaction: +1.
10
+ class UserPlusOnes < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/UserPlusOnes}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::Event
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Event, 'mida/vocabularies/schemaorg/event'
8
+
9
+ # User interaction: Tweets.
10
+ class UserTweets < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/UserTweets}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::Event
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Place, 'mida/vocabularies/schemaorg/place'
8
+ autoload :Organization, 'mida/vocabularies/schemaorg/organization'
9
+ autoload :LocalBusiness, 'mida/vocabularies/schemaorg/localbusiness'
10
+
11
+ # A vet's office.
12
+ class VeterinaryCare < Mida::Vocabulary
13
+ itemtype %r{http://schema.org/VeterinaryCare}i
14
+ include_vocabulary Mida::SchemaOrg::Thing
15
+ include_vocabulary Mida::SchemaOrg::Place
16
+ include_vocabulary Mida::SchemaOrg::Organization
17
+ include_vocabulary Mida::SchemaOrg::LocalBusiness
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+ autoload :WebPage, 'mida/vocabularies/schemaorg/webpage'
9
+
10
+ # Web page type: Video gallery page.
11
+ class VideoGallery < Mida::Vocabulary
12
+ itemtype %r{http://schema.org/VideoGallery}i
13
+ include_vocabulary Mida::SchemaOrg::Thing
14
+ include_vocabulary Mida::SchemaOrg::CreativeWork
15
+ include_vocabulary Mida::SchemaOrg::WebPage
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,42 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+ autoload :MediaObject, 'mida/vocabularies/schemaorg/mediaobject'
9
+ autoload :Organization, 'mida/vocabularies/schemaorg/organization'
10
+ autoload :ImageObject, 'mida/vocabularies/schemaorg/imageobject'
11
+
12
+ # A video file.
13
+ class VideoObject < Mida::Vocabulary
14
+ itemtype %r{http://schema.org/VideoObject}i
15
+ include_vocabulary Mida::SchemaOrg::Thing
16
+ include_vocabulary Mida::SchemaOrg::CreativeWork
17
+ include_vocabulary Mida::SchemaOrg::MediaObject
18
+
19
+ # The caption for this object.
20
+ has_many 'caption'
21
+
22
+ # The production company or studio that made the movie, TV series, season, or episode, or video.
23
+ has_many 'productionCompany' do
24
+ extract Mida::SchemaOrg::Organization
25
+ extract Mida::DataType::Text
26
+ end
27
+
28
+ # Thumbnail image for an image or video.
29
+ has_many 'thumbnail' do
30
+ extract Mida::SchemaOrg::ImageObject
31
+ extract Mida::DataType::Text
32
+ end
33
+
34
+ # The frame size of the video.
35
+ has_many 'videoFrameSize'
36
+
37
+ # The quality of the video.
38
+ has_many 'videoQuality'
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Event, 'mida/vocabularies/schemaorg/event'
8
+
9
+ # Event type: Visual arts event.
10
+ class VisualArtsEvent < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/VisualArtsEvent}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::Event
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Place, 'mida/vocabularies/schemaorg/place'
8
+
9
+ # A volcano, like Fuji san
10
+ class Volcano < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/Volcano}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::Place
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Place, 'mida/vocabularies/schemaorg/place'
8
+
9
+ # A waterfall, like Niagara
10
+ class Waterfall < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/Waterfall}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::Place
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,46 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+ autoload :CollectionPage, 'mida/vocabularies/schemaorg/collectionpage'
9
+ autoload :WebPageElement, 'mida/vocabularies/schemaorg/webpageelement'
10
+ autoload :ImageObject, 'mida/vocabularies/schemaorg/imageobject'
11
+
12
+ # A web page. Every web page is implicitly assumed to be declared to be of type WebPage, so the various properties about that webpage, such as breadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page
13
+ class WebPage < Mida::Vocabulary
14
+ itemtype %r{http://schema.org/WebPage}i
15
+ include_vocabulary Mida::SchemaOrg::Thing
16
+ include_vocabulary Mida::SchemaOrg::CreativeWork
17
+
18
+ # A set of links that can help a user understand and navigate a website hierarchy.
19
+ has_many 'breadcrumb'
20
+
21
+ # Indicates the collection or gallery to which the item belongs.
22
+ has_many 'isPartOf' do
23
+ extract Mida::SchemaOrg::CollectionPage
24
+ extract Mida::DataType::Text
25
+ end
26
+
27
+ # Indicates if this web page element is the main subject of the page.
28
+ has_many 'mainContentOfPage' do
29
+ extract Mida::SchemaOrg::WebPageElement
30
+ extract Mida::DataType::Text
31
+ end
32
+
33
+ # Indicates the main image on the page
34
+ has_many 'primaryImageOfPage' do
35
+ extract Mida::SchemaOrg::ImageObject
36
+ extract Mida::DataType::Text
37
+ end
38
+
39
+ # The most significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most
40
+ has_many 'significantLinks' do
41
+ extract Mida::DataType::URL
42
+ end
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+
9
+ # A web page element, like a table or an image
10
+ class WebPageElement < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/WebPageElement}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::CreativeWork
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Place, 'mida/vocabularies/schemaorg/place'
8
+ autoload :Organization, 'mida/vocabularies/schemaorg/organization'
9
+ autoload :LocalBusiness, 'mida/vocabularies/schemaorg/localbusiness'
10
+
11
+ # A wholesale store.
12
+ class WholesaleStore < Mida::Vocabulary
13
+ itemtype %r{http://schema.org/WholesaleStore}i
14
+ include_vocabulary Mida::SchemaOrg::Thing
15
+ include_vocabulary Mida::SchemaOrg::Place
16
+ include_vocabulary Mida::SchemaOrg::Organization
17
+ include_vocabulary Mida::SchemaOrg::LocalBusiness
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Place, 'mida/vocabularies/schemaorg/place'
8
+ autoload :Organization, 'mida/vocabularies/schemaorg/organization'
9
+ autoload :LocalBusiness, 'mida/vocabularies/schemaorg/localbusiness'
10
+ autoload :FoodEstablishment, 'mida/vocabularies/schemaorg/foodestablishment'
11
+
12
+ # A winery.
13
+ class Winery < Mida::Vocabulary
14
+ itemtype %r{http://schema.org/Winery}i
15
+ include_vocabulary Mida::SchemaOrg::Thing
16
+ include_vocabulary Mida::SchemaOrg::Place
17
+ include_vocabulary Mida::SchemaOrg::Organization
18
+ include_vocabulary Mida::SchemaOrg::LocalBusiness
19
+ include_vocabulary Mida::SchemaOrg::FoodEstablishment
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+
9
+ # An advertising section of the page.
10
+ class WPAdBlock < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/WPAdBlock}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::CreativeWork
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+
9
+ # The footer section of the page.
10
+ class WPFooter < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/WPFooter}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::CreativeWork
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+
9
+ # The header section of the page.
10
+ class WPHeader < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/WPHeader}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::CreativeWork
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :CreativeWork, 'mida/vocabularies/schemaorg/creativework'
8
+
9
+ # A sidebar section of the page.
10
+ class WPSideBar < Mida::Vocabulary
11
+ itemtype %r{http://schema.org/WPSideBar}i
12
+ include_vocabulary Mida::SchemaOrg::Thing
13
+ include_vocabulary Mida::SchemaOrg::CreativeWork
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require 'mida/vocabulary'
2
+
3
+ module Mida
4
+ module SchemaOrg
5
+
6
+ autoload :Thing, 'mida/vocabularies/schemaorg/thing'
7
+ autoload :Place, 'mida/vocabularies/schemaorg/place'
8
+ autoload :CivicStructure, 'mida/vocabularies/schemaorg/civicstructure'
9
+
10
+ # A zoo.
11
+ class Zoo < Mida::Vocabulary
12
+ itemtype %r{http://schema.org/Zoo}i
13
+ include_vocabulary Mida::SchemaOrg::Thing
14
+ include_vocabulary Mida::SchemaOrg::Place
15
+ include_vocabulary Mida::SchemaOrg::CivicStructure
16
+ end
17
+
18
+ end
19
+ end
@@ -38,8 +38,15 @@ module Mida
38
38
  end
39
39
 
40
40
  # Return the properties specification
41
+ # This won't work properly until all the included_vocabularies
42
+ # have finished being defined in case of circular dependancies
41
43
  def self.properties
42
- @properties ||= {}
44
+ return @properties if @properties
45
+ @properties = @this_properties || {}
46
+ included_vocabularies.each do |vocabulary|
47
+ @properties.merge!(vocabulary.properties)
48
+ end
49
+ @properties
43
50
  end
44
51
 
45
52
  # Return the included vocabularies
@@ -47,14 +54,13 @@ module Mida
47
54
  @included_vocabularies ||= Set.new
48
55
  end
49
56
 
50
- # Include the properties from the specified <tt>vocabularies</tt>.
57
+ # Specify which +vocabularies+ will have their properties included.
51
58
  # This is the correct way to inherit properties from another vocabulary,
52
59
  # rather than subclassing.
53
60
  def self.include_vocabulary(*vocabularies)
54
61
  vocabularies.each do |vocabulary|
55
62
  included_vocabularies.merge(vocabulary.included_vocabularies)
56
63
  included_vocabularies << vocabulary
57
- properties.merge!(vocabulary.properties)
58
64
  end
59
65
  end
60
66
 
@@ -73,7 +79,6 @@ module Mida
73
79
  @itemtype = regexp
74
80
  end
75
81
 
76
-
77
82
  # Defines the properties as only containing one value
78
83
  # If want to say any property name, then use +:any+ as a name
79
84
  # Within a block you can use the methods of the class +PropertyDesc+
@@ -89,8 +94,8 @@ module Mida
89
94
  end
90
95
 
91
96
  def self.has(num, *property_names, &block)
92
- @properties ||= {}
93
- property_names.each_with_object(@properties) do |name, properties|
97
+ @this_properties ||= {}
98
+ property_names.each_with_object(@this_properties) do |name, properties|
94
99
  property_desc = PropertyDesc.new(num, &block)
95
100
  properties[name] = property_desc.to_h
96
101
  end