mida 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +8 -0
- data/{LICENSE.rdoc → LICENCE.rdoc} +1 -1
- data/README.rdoc +2 -2
- data/Rakefile +4 -3
- data/bin/mida +13 -3
- data/lib/mida.rb +2 -1
- data/lib/mida/datatype.rb +2 -0
- data/lib/mida/datatype/boolean.rb +21 -9
- data/lib/mida/datatype/enumeration.rb +28 -0
- data/lib/mida/datatype/float.rb +8 -5
- data/lib/mida/datatype/generic.rb +33 -0
- data/lib/mida/datatype/integer.rb +5 -5
- data/lib/mida/datatype/iso8601date.rb +12 -6
- data/lib/mida/datatype/number.rb +6 -5
- data/lib/mida/datatype/text.rb +5 -3
- data/lib/mida/datatype/url.rb +20 -0
- data/lib/mida/document.rb +4 -5
- data/lib/mida/item.rb +3 -4
- data/lib/mida/{genericvocabulary.rb → vocabularies/genericvocabulary.rb} +0 -0
- data/lib/mida/vocabularies/schemaorg.rb +1 -0
- data/lib/mida/vocabularies/schemaorg/aboutpage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/accountingservice.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/administrativearea.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/adultentertainment.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/aggregateoffer.rb +34 -0
- data/lib/mida/vocabularies/schemaorg/aggregaterating.rb +33 -0
- data/lib/mida/vocabularies/schemaorg/airport.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/amusementpark.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/animalshelter.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/apartmentcomplex.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/aquarium.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/artgallery.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/article.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/attorney.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/audioobject.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/autobodyshop.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/autodealer.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/automatedteller.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/automotivebusiness.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/autopartsstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/autorental.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/autorepair.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/autowash.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/bakery.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/bankorcreditunion.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/barorpub.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/beach.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/beautysalon.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/bedandbreakfast.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/bikestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/blog.rb +24 -0
- data/lib/mida/vocabularies/schemaorg/blogposting.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/bodyofwater.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/book.rb +41 -0
- data/lib/mida/vocabularies/schemaorg/bookformattype.rb +16 -0
- data/lib/mida/vocabularies/schemaorg/bookstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/bowlingalley.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/brewery.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/buddhisttemple.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/businessevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/busstation.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/busstop.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/cafeorcoffeeshop.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/campground.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/canal.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/casino.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/catholicchurch.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/cemetery.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/checkoutpage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/childcare.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/childrensevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/church.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/city.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/cityhall.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/civicstructure.rb +24 -0
- data/lib/mida/vocabularies/schemaorg/clothingstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/collectionpage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/collegeoruniversity.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/comedyclub.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/comedyevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/computerstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/contactpage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/contactpoint.rb +27 -0
- data/lib/mida/vocabularies/schemaorg/continent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/conveniencestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/corporation.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/country.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/courthouse.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/creativework.rb +122 -0
- data/lib/mida/vocabularies/schemaorg/crematorium.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/danceevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/dancegroup.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/dayspa.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/defenceestablishment.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/dentist.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/departmentstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/distance.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/drycleaningorlaundry.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/duration.rb +13 -0
- data/lib/mida/vocabularies/schemaorg/educationalorganization.rb +24 -0
- data/lib/mida/vocabularies/schemaorg/educationevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/electrician.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/electronicsstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/elementaryschool.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/embassy.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/emergencyservice.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/employmentagency.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/energy.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/entertainmentbusiness.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/enumeration.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/event.rb +77 -0
- data/lib/mida/vocabularies/schemaorg/eventvenue.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/exercisegym.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/fastfoodrestaurant.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/festival.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/financialservice.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/firestation.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/florist.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/foodestablishment.rb +36 -0
- data/lib/mida/vocabularies/schemaorg/foodevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/furniturestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/gardenstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/gasstation.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/gatedresidencecommunity.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/generalcontractor.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/geocoordinates.rb +33 -0
- data/lib/mida/vocabularies/schemaorg/golfcourse.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/governmentbuilding.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/governmentoffice.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/governmentorganization.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/grocerystore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/hairsalon.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/hardwarestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/healthandbeautybusiness.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/healthclub.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/highschool.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/hindutemple.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/hobbyshop.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/homeandconstructionbusiness.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/homegoodsstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/hospital.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/hostel.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/hotel.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/housepainter.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/hvacbusiness.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/icecreamshop.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/imagegallery.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/imageobject.rb +37 -0
- data/lib/mida/vocabularies/schemaorg/insuranceagency.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/intangible.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/internetcafe.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/itemavailability.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/itemlist.rb +20 -0
- data/lib/mida/vocabularies/schemaorg/itempage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/jewelrystore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/lakebodyofwater.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/landform.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/landmarksorhistoricalbuildings.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/language.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/legislativebuilding.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/library.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/liquorstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/literaryevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/localbusiness.rb +41 -0
- data/lib/mida/vocabularies/schemaorg/locksmith.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/lodgingbusiness.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/map.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/mass.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/mediaobject.rb +87 -0
- data/lib/mida/vocabularies/schemaorg/medicalclinic.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/medicalorganization.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/mensclothingstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/middleschool.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/mobilephonestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/mosque.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/motel.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/motorcycledealer.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/motorcyclerepair.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/mountain.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/movie.rb +65 -0
- data/lib/mida/vocabularies/schemaorg/movierentalstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/movietheater.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/movingcompany.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/museum.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/musicalbum.rb +26 -0
- data/lib/mida/vocabularies/schemaorg/musicevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/musicgroup.rb +38 -0
- data/lib/mida/vocabularies/schemaorg/musicplaylist.rb +29 -0
- data/lib/mida/vocabularies/schemaorg/musicrecording.rb +45 -0
- data/lib/mida/vocabularies/schemaorg/musicstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/musicvenue.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/musicvideoobject.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/nailsalon.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/newsarticle.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/ngo.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/nightclub.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/notary.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/nutritioninformation.rb +86 -0
- data/lib/mida/vocabularies/schemaorg/oceanbodyofwater.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/offer.rb +69 -0
- data/lib/mida/vocabularies/schemaorg/offeritemcondition.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/officeequipmentstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/optician.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/organization.rb +96 -0
- data/lib/mida/vocabularies/schemaorg/outletstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/painting.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/park.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/parkingfacility.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/pawnshop.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/performingartstheater.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/performinggroup.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/person.rb +164 -0
- data/lib/mida/vocabularies/schemaorg/petstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/pharmacy.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/photograph.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/physician.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/place.rb +80 -0
- data/lib/mida/vocabularies/schemaorg/placeofworship.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/playground.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/plumber.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/policestation.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/pond.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/postaladdress.rb +39 -0
- data/lib/mida/vocabularies/schemaorg/postoffice.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/preschool.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/product.rb +55 -0
- data/lib/mida/vocabularies/schemaorg/professionalservice.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/profilepage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/publicswimmingpool.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/quantity.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/radiostation.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/rating.rb +30 -0
- data/lib/mida/vocabularies/schemaorg/realestateagent.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/recipe.rb +61 -0
- data/lib/mida/vocabularies/schemaorg/recyclingcenter.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/reservoir.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/residence.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/restaurant.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/review.rb +33 -0
- data/lib/mida/vocabularies/schemaorg/riverbodyofwater.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/roofingcontractor.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/rvpark.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/saleevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/scholarlyarticle.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/school.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/sculpture.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/seabodyofwater.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/searchresultspage.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/selfstorage.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/shoestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/shoppingcenter.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/singlefamilyresidence.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/sitenavigationelement.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/skiresort.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/socialevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/sportinggoodsstore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/sportsactivitylocation.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/sportsclub.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/sportsevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/sportsteam.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/stadiumorarena.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/state.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/store.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/structuredvalue.rb +15 -0
- data/lib/mida/vocabularies/schemaorg/subwaystation.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/synagogue.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/table.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/tattooparlor.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/taxistand.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/televisionstation.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/tenniscomplex.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/theaterevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/theatergroup.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/thing.rb +29 -0
- data/lib/mida/vocabularies/schemaorg/tireshop.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/touristattraction.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/touristinformationcenter.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/toystore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/trainstation.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/travelagency.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/tvepisode.rb +77 -0
- data/lib/mida/vocabularies/schemaorg/tvseason.rb +58 -0
- data/lib/mida/vocabularies/schemaorg/tvseries.rb +87 -0
- data/lib/mida/vocabularies/schemaorg/userblocks.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/usercheckins.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/usercomments.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/userdownloads.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/userinteraction.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/userlikes.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/userpagevisits.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/userplays.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/userplusones.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/usertweets.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/veterinarycare.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/videogallery.rb +19 -0
- data/lib/mida/vocabularies/schemaorg/videoobject.rb +42 -0
- data/lib/mida/vocabularies/schemaorg/visualartsevent.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/volcano.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/waterfall.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/webpage.rb +46 -0
- data/lib/mida/vocabularies/schemaorg/webpageelement.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/wholesalestore.rb +21 -0
- data/lib/mida/vocabularies/schemaorg/winery.rb +23 -0
- data/lib/mida/vocabularies/schemaorg/wpadblock.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/wpfooter.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/wpheader.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/wpsidebar.rb +17 -0
- data/lib/mida/vocabularies/schemaorg/zoo.rb +19 -0
- data/lib/mida/vocabulary.rb +11 -6
- data/spec/datatype/boolean_spec.rb +21 -8
- data/spec/datatype/enumeration_spec.rb +30 -0
- data/spec/datatype/float_spec.rb +8 -10
- data/spec/datatype/generic_spec.rb +44 -0
- data/spec/datatype/integer_spec.rb +11 -8
- data/spec/datatype/iso8601date_spec.rb +15 -8
- data/spec/datatype/number_spec.rb +8 -10
- data/spec/datatype/text_spec.rb +8 -6
- data/spec/datatype/url_spec.rb +27 -0
- data/spec/document_spec.rb +0 -21
- data/spec/item_spec.rb +41 -48
- data/spec/vocabulary_spec.rb +51 -0
- metadata +316 -10
@@ -2,26 +2,39 @@ require 'mida/datatype'
|
|
2
2
|
|
3
3
|
describe Mida::DataType::Boolean do
|
4
4
|
|
5
|
-
it '#
|
6
|
-
test = lambda {Mida::DataType::Boolean.
|
5
|
+
it '#parse should raise an exception if a invalid text passed' do
|
6
|
+
test = lambda {Mida::DataType::Boolean.parse('example')}
|
7
7
|
test.should raise_error(ArgumentError)
|
8
8
|
end
|
9
9
|
|
10
|
-
it '#
|
11
|
-
test = lambda {Mida::DataType::Boolean.
|
10
|
+
it '#parse should raise an exception if value is empty' do
|
11
|
+
test = lambda {Mida::DataType::Boolean.parse('')}
|
12
12
|
test.should raise_error(ArgumentError)
|
13
13
|
end
|
14
14
|
|
15
|
-
it '#
|
15
|
+
it '#parse should return true for "True" whatever the case' do
|
16
16
|
['true', 'True', 'TRUE', 'tRUE'].each do |true_text|
|
17
|
-
Mida::DataType::Boolean.
|
17
|
+
Mida::DataType::Boolean.parse(true_text).should be_true
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
it '#
|
21
|
+
it '#parse should return false for "False" whatever the case' do
|
22
22
|
['false', 'False', 'FALSE', 'fALSE'].each do |false_text|
|
23
|
-
Mida::DataType::Boolean.
|
23
|
+
Mida::DataType::Boolean.parse(false_text).should be_false
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
it '#to_s should return proper string representation of boolean' do
|
28
|
+
Mida::DataType::Boolean.parse('fALSE').to_s.should == 'False'
|
29
|
+
Mida::DataType::Boolean.parse('tRUE').to_s.should == 'True'
|
30
|
+
end
|
31
|
+
|
32
|
+
it '! should negate as if a TrueClass/FalseClass' do
|
33
|
+
true_boolean = Mida::DataType::Boolean.parse('true')
|
34
|
+
false_boolean = Mida::DataType::Boolean.parse('false')
|
35
|
+
|
36
|
+
(!true_boolean).should be_false
|
37
|
+
(!false_boolean).should be_true
|
38
|
+
end
|
39
|
+
|
27
40
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'mida/datatype'
|
2
|
+
require 'mida/datatype/url'
|
3
|
+
|
4
|
+
describe Mida::DataType::Enumeration do
|
5
|
+
before :all do
|
6
|
+
class BookType < Mida::DataType::Enumeration
|
7
|
+
VALID_VALUES = [
|
8
|
+
[::Mida::DataType::URL, %r{http://example.com/ebook}i],
|
9
|
+
[::Mida::DataType::URL, %r{http://example.com/paperback}i]
|
10
|
+
]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it '#parse should raise an exception if an invalid url passed' do
|
15
|
+
test = lambda {BookType.parse('http://example.com/hardback')}
|
16
|
+
test.should raise_error(ArgumentError)
|
17
|
+
end
|
18
|
+
|
19
|
+
it '#parse should raise an exception if value is empty' do
|
20
|
+
test = lambda {BookType.parse('')}
|
21
|
+
test.should raise_error(ArgumentError)
|
22
|
+
end
|
23
|
+
|
24
|
+
it '#parse should accept a valid value' do
|
25
|
+
url_text = 'http://example.com/ebook'
|
26
|
+
url = BookType.parse(url_text)
|
27
|
+
url.to_s.should == url_text
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
data/spec/datatype/float_spec.rb
CHANGED
@@ -2,22 +2,20 @@ require 'mida/datatype'
|
|
2
2
|
|
3
3
|
describe Mida::DataType::Float do
|
4
4
|
|
5
|
-
it '#
|
6
|
-
test = lambda {Mida::DataType::Float.
|
5
|
+
it '#parse should raise an exception if not a number' do
|
6
|
+
test = lambda {Mida::DataType::Float.parse('hello')}
|
7
7
|
test.should raise_error(ArgumentError)
|
8
8
|
end
|
9
9
|
|
10
|
-
it '#
|
11
|
-
test = lambda {Mida::DataType::Float.
|
10
|
+
it '#parse should raise an exception if value is empty' do
|
11
|
+
test = lambda {Mida::DataType::Float.parse('')}
|
12
12
|
test.should raise_error(ArgumentError)
|
13
13
|
end
|
14
14
|
|
15
|
-
it '#
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
it '#extract? should return the input value as a Float if a integer' do
|
20
|
-
Mida::DataType::Float.extract("3").should == 3
|
15
|
+
it '#parse should accept a valid number' do
|
16
|
+
float_text = '3.14'
|
17
|
+
float = Mida::DataType::Float.parse(float_text)
|
18
|
+
float.to_s.should == float_text
|
21
19
|
end
|
22
20
|
|
23
21
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'mida/datatype'
|
2
|
+
|
3
|
+
describe Mida::DataType::Generic do
|
4
|
+
|
5
|
+
before do
|
6
|
+
class Number < Mida::DataType::Generic
|
7
|
+
def initialize(value)
|
8
|
+
@parsedValue = Float(value)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
it '#parse should provide pass value straight to #new' do
|
14
|
+
number = Number.parse('2.34')
|
15
|
+
number == 2.34
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should provide access to the underlying type's methods" do
|
19
|
+
number = Number.new('2.34')
|
20
|
+
number.floor.should == 2
|
21
|
+
end
|
22
|
+
|
23
|
+
it '#to_s should use the underlying types #to_s method' do
|
24
|
+
number = Number.parse('2.34')
|
25
|
+
number.to_s.should == '2.34'
|
26
|
+
end
|
27
|
+
|
28
|
+
it '#to_yaml should provide a yaml representation of the items #to_s method' do
|
29
|
+
number = Number.parse('2.34')
|
30
|
+
number.to_yaml.should =~ /---\s+"2.34"\n/
|
31
|
+
end
|
32
|
+
|
33
|
+
it '#== should match against underlying type, string representation and self' do
|
34
|
+
number = Number.new('2.34')
|
35
|
+
(number == 2.34).should be_true
|
36
|
+
(number == '2.34').should be_true
|
37
|
+
(number == number).should be_true
|
38
|
+
|
39
|
+
(number == 2.44).should be_false
|
40
|
+
(number == '2.44').should be_false
|
41
|
+
(number == Number.new('2.44')).should be_false
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -2,22 +2,25 @@ require 'mida/datatype'
|
|
2
2
|
|
3
3
|
describe Mida::DataType::Integer do
|
4
4
|
|
5
|
-
it '#
|
6
|
-
test = lambda {Mida::DataType::Integer.
|
5
|
+
it '#parse should raise an exception if not a number' do
|
6
|
+
test = lambda {Mida::DataType::Integer.parse('hello')}
|
7
7
|
test.should raise_error(ArgumentError)
|
8
8
|
end
|
9
9
|
|
10
|
-
it '#
|
11
|
-
test = lambda {Mida::DataType::Integer.
|
10
|
+
it '#parse should raise an exception if not an integer' do
|
11
|
+
test = lambda {Mida::DataType::Integer.parse('3.14')}
|
12
12
|
test.should raise_error(ArgumentError)
|
13
13
|
end
|
14
14
|
|
15
|
-
it '#
|
16
|
-
test = lambda {Mida::DataType::Integer.
|
15
|
+
it '#parse should raise an exception if value is empty' do
|
16
|
+
test = lambda {Mida::DataType::Integer.parse('')}
|
17
17
|
test.should raise_error(ArgumentError)
|
18
18
|
end
|
19
19
|
|
20
|
-
it '#
|
21
|
-
|
20
|
+
it '#parse should accept a valid number' do
|
21
|
+
integer_text = '3'
|
22
|
+
integer = Mida::DataType::Integer.parse(integer_text)
|
23
|
+
integer.to_s.should == integer_text
|
22
24
|
end
|
25
|
+
|
23
26
|
end
|
@@ -2,19 +2,26 @@ require 'mida/datatype'
|
|
2
2
|
|
3
3
|
describe Mida::DataType::ISO8601Date do
|
4
4
|
|
5
|
-
it '#
|
6
|
-
test = lambda {Mida::DataType::ISO8601Date.
|
5
|
+
it '#parse should raise an exception if invalid date format' do
|
6
|
+
test = lambda {Mida::DataType::ISO8601Date.parse('27th August 2009')}
|
7
7
|
test.should raise_error(ArgumentError)
|
8
8
|
end
|
9
9
|
|
10
|
-
it '#
|
11
|
-
test = lambda {Mida::DataType::ISO8601Date.
|
10
|
+
it '#parse should raise an exception if value is empty' do
|
11
|
+
test = lambda {Mida::DataType::ISO8601Date.parse('')}
|
12
12
|
test.should raise_error(ArgumentError)
|
13
13
|
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
context 'when passed a valid date' do
|
16
|
+
before do
|
17
|
+
@date_text = "2009-08-27T01:13:04+05:10"
|
18
|
+
@date = Mida::DataType::ISO8601Date.parse(@date_text)
|
19
|
+
end
|
20
|
+
|
21
|
+
it '#to_s should return the date as an rfc822 text string' do
|
22
|
+
@date.to_s.should == "Thu, 27 Aug 2009 01:13:04 +0510"
|
23
|
+
end
|
24
|
+
|
19
25
|
end
|
26
|
+
|
20
27
|
end
|
@@ -2,22 +2,20 @@ require 'mida/datatype'
|
|
2
2
|
|
3
3
|
describe Mida::DataType::Number do
|
4
4
|
|
5
|
-
it '#
|
6
|
-
test = lambda {Mida::DataType::Number.
|
5
|
+
it '#parse should raise an exception if not a number' do
|
6
|
+
test = lambda {Mida::DataType::Number.parse('hello')}
|
7
7
|
test.should raise_error(ArgumentError)
|
8
8
|
end
|
9
9
|
|
10
|
-
it '#
|
11
|
-
test = lambda {Mida::DataType::Number.
|
10
|
+
it '#parse should raise an exception if value is empty' do
|
11
|
+
test = lambda {Mida::DataType::Number.parse('')}
|
12
12
|
test.should raise_error(ArgumentError)
|
13
13
|
end
|
14
14
|
|
15
|
-
it '#
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
it '#extract? should return the input value as a number if a integer' do
|
20
|
-
Mida::DataType::Number.extract("3").should == 3
|
15
|
+
it '#parse should accept a valid number' do
|
16
|
+
num_text = '3.14'
|
17
|
+
num = Mida::DataType::Number.parse(num_text)
|
18
|
+
num.to_s.should == num_text
|
21
19
|
end
|
22
20
|
|
23
21
|
end
|
data/spec/datatype/text_spec.rb
CHANGED
@@ -2,13 +2,15 @@ require 'mida/datatype'
|
|
2
2
|
|
3
3
|
describe Mida::DataType::Text do
|
4
4
|
|
5
|
-
it '#
|
6
|
-
|
7
|
-
|
5
|
+
it '#parse should accept an empty string' do
|
6
|
+
text = Mida::DataType::Text.parse('')
|
7
|
+
text.should == ''
|
8
8
|
end
|
9
9
|
|
10
|
-
it '#
|
11
|
-
|
12
|
-
Mida::DataType::Text.
|
10
|
+
it '#parse should return the input value' do
|
11
|
+
test_text = 'Some text'
|
12
|
+
text = Mida::DataType::Text.parse(test_text)
|
13
|
+
text.should == test_text
|
13
14
|
end
|
15
|
+
|
14
16
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'mida/datatype'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
describe Mida::DataType::URL do
|
5
|
+
|
6
|
+
it '#parse should raise an exception if a bad url passed' do
|
7
|
+
test = lambda {Mida::DataType::URL.parse('example.com')}
|
8
|
+
test.should raise_error(ArgumentError)
|
9
|
+
end
|
10
|
+
|
11
|
+
it '#parse should raise an exception if value is empty' do
|
12
|
+
test = lambda {Mida::DataType::URL.parse('')}
|
13
|
+
test.should raise_error(ArgumentError)
|
14
|
+
end
|
15
|
+
|
16
|
+
it '#parse should accept a valid url' do
|
17
|
+
url_text = 'http://example.com/test/'
|
18
|
+
url = Mida::DataType::URL.parse(url_text)
|
19
|
+
url.to_s.should == url_text
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
it '#parse should accept a valid url' do
|
24
|
+
url_text = 'http://example.com/test/'
|
25
|
+
url = Mida::DataType::URL.parse(url_text)
|
26
|
+
end
|
27
|
+
end
|
data/spec/document_spec.rb
CHANGED
@@ -85,27 +85,6 @@ describe Mida::Document, 'when initialized' do
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
context 'with validation on' do
|
89
|
-
before do
|
90
|
-
@md = Mida::Document.new(@html)
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'should reject properties for items of known vocabularies that are not valid' do
|
94
|
-
@md.items[0].properties.should == {}
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
|
-
context 'with validation off' do
|
99
|
-
before do
|
100
|
-
@md = Mida::Document.new(@html, false)
|
101
|
-
end
|
102
|
-
|
103
|
-
it 'should accept properties for items of known vocabularies even if not valid' do
|
104
|
-
@md.items[0].properties['itemreviewed'].should ==
|
105
|
-
['Romeo Pizza', 'Some Other Pizza']
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
88
|
after do
|
110
89
|
Mida::Vocabulary.unregister(Review)
|
111
90
|
end
|
data/spec/item_spec.rb
CHANGED
@@ -82,7 +82,9 @@ describe Mida::Item, 'when initialized with an itemscope of a known type' do
|
|
82
82
|
has_many 'date' do
|
83
83
|
extract Mida::DataType::ISO8601Date, Mida::DataType::Text
|
84
84
|
end
|
85
|
-
has_many 'url'
|
85
|
+
has_many 'url' do
|
86
|
+
extract Mida::DataType::URL
|
87
|
+
end
|
86
88
|
end
|
87
89
|
|
88
90
|
itemscope = mock(Mida::Itemscope)
|
@@ -106,7 +108,8 @@ describe Mida::Item, 'when initialized with an itemscope of a known type' do
|
|
106
108
|
end
|
107
109
|
|
108
110
|
it 'should return has_many properties as an array' do
|
109
|
-
@item.properties['url'].
|
111
|
+
@item.properties['url'].length == 1
|
112
|
+
@item.properties['url'].first.to_s.should == 'http://example.com/user/lorry'
|
110
113
|
end
|
111
114
|
|
112
115
|
it 'should accept datatypes that are valid' do
|
@@ -114,25 +117,18 @@ describe Mida::Item, 'when initialized with an itemscope of a known type' do
|
|
114
117
|
end
|
115
118
|
|
116
119
|
it 'should accept datatypes that are valid' do
|
117
|
-
@item.properties['date'][1].should == Date.iso8601('2009-10-02')
|
120
|
+
@item.properties['date'][1].should.to_s == Date.iso8601('2009-10-02').rfc822
|
118
121
|
end
|
119
122
|
|
120
123
|
it '#properties should return the same properties as the itemscope' do
|
121
|
-
@item.properties.should ==
|
122
|
-
|
123
|
-
'date' => ['2nd October 2009', Date.iso8601('2009-10-02')],
|
124
|
-
'url' => ['http://example.com/user/lorry']
|
125
|
-
}
|
124
|
+
@item.properties.keys.should == ['name', 'date', 'url']
|
125
|
+
@item.properties['date'].length == 2
|
126
126
|
end
|
127
127
|
|
128
128
|
it '#to_h should return the correct type and properties' do
|
129
129
|
@item.to_h.should == {
|
130
130
|
type: 'http://example.com/vocab/person',
|
131
|
-
properties:
|
132
|
-
'name' => 'Lorry Woodman',
|
133
|
-
'date' => ['2nd October 2009', Date.iso8601('2009-10-02')],
|
134
|
-
'url' => ['http://example.com/user/lorry']
|
135
|
-
}
|
131
|
+
properties: @item.properties
|
136
132
|
}
|
137
133
|
end
|
138
134
|
|
@@ -153,10 +149,10 @@ describe Mida::Item, 'when initialized with an itemscope of a known type that do
|
|
153
149
|
end
|
154
150
|
end
|
155
151
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
152
|
+
itemscope = mock(Mida::Itemscope)
|
153
|
+
itemscope.stub!(:type).and_return("http://example.com/vocab/person")
|
154
|
+
itemscope.stub!(:id).and_return(nil)
|
155
|
+
itemscope.stub!(:properties).and_return(
|
160
156
|
{ 'name' => ['Lorry Woodman'],
|
161
157
|
'tel' => ['000004847582', '111111857485'],
|
162
158
|
'url' => ['http://example.com/user/lorry'],
|
@@ -164,42 +160,19 @@ describe Mida::Item, 'when initialized with an itemscope of a known type that do
|
|
164
160
|
'dob' => 'When I was born'
|
165
161
|
}
|
166
162
|
)
|
163
|
+
@item = Mida::Item.new(itemscope)
|
167
164
|
end
|
168
165
|
|
169
|
-
|
170
|
-
|
171
|
-
@item = Mida::Item.new(@itemscope)
|
172
|
-
end
|
173
|
-
|
174
|
-
it '#vocabulary should return the correct vocabulary' do
|
175
|
-
@item.vocabulary.should == Person
|
176
|
-
end
|
177
|
-
|
178
|
-
it 'should not keep properties that have too many values' do
|
179
|
-
@item.properties.should_not have_key('tel')
|
180
|
-
end
|
181
|
-
|
182
|
-
it 'should not keep properties that have the wrong DataType' do
|
183
|
-
@item.properties.should_not have_key('dob')
|
184
|
-
end
|
166
|
+
it '#vocabulary should return the correct vocabulary' do
|
167
|
+
@item.vocabulary.should == Person
|
185
168
|
end
|
186
169
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
end
|
191
|
-
|
192
|
-
it '#vocabulary should return the correct vocabulary' do
|
193
|
-
@item.vocabulary.should == Person
|
194
|
-
end
|
195
|
-
|
196
|
-
it 'should keep properties even if they have too many values' do
|
197
|
-
@item.properties.should have_key('tel')
|
198
|
-
end
|
170
|
+
it 'should not keep properties that have too many values' do
|
171
|
+
@item.properties.should_not have_key('tel')
|
172
|
+
end
|
199
173
|
|
200
|
-
|
201
|
-
|
202
|
-
end
|
174
|
+
it 'should not keep properties that have the wrong DataType' do
|
175
|
+
@item.properties.should_not have_key('dob')
|
203
176
|
end
|
204
177
|
|
205
178
|
end
|
@@ -255,6 +228,22 @@ describe Mida::Item, 'when initialized with an itemscope containing another corr
|
|
255
228
|
@item.properties['tel'][0].should == '000004847582'
|
256
229
|
end
|
257
230
|
|
231
|
+
it "#to_h shouldnt return nested items properly" do
|
232
|
+
@item.to_h.should == {
|
233
|
+
type: 'http://example.com/vocab/person',
|
234
|
+
properties: {
|
235
|
+
'name' => 'Lorry Woodman',
|
236
|
+
'tel' => [ '000004847582',
|
237
|
+
{ type: 'http://example.com/vocab/tel',
|
238
|
+
properties: { 'dial_code' => '0248583',
|
239
|
+
'number' => '000004847582'
|
240
|
+
}
|
241
|
+
}
|
242
|
+
]
|
243
|
+
}
|
244
|
+
}
|
245
|
+
end
|
246
|
+
|
258
247
|
end
|
259
248
|
|
260
249
|
describe Mida::Item, 'when initialized with an itemscope that has a property type that is a child of the specified type' do
|
@@ -316,6 +305,10 @@ end
|
|
316
305
|
|
317
306
|
describe Mida::Item, 'when initialized with an itemscope containing another invalid itemscope' do
|
318
307
|
before do
|
308
|
+
# Make sure the class is redefined afresh to make sure that
|
309
|
+
# inherited() hook is called
|
310
|
+
Mida::Vocabulary.unregister(Person)
|
311
|
+
Object.send(:remove_const, :Person)
|
319
312
|
class Person < Mida::Vocabulary
|
320
313
|
itemtype %r{http://example.com/vocab/person}
|
321
314
|
has_one 'name'
|