Git Product home page Git Product logo

vast's Introduction

A library for parsing Digital Video Ad Serving Template (VAST) 2.0 and 3.0 XML documents, as outlined by the Interactive Advertising Bureau at www.iab.net/iab_products_and_industry_services/508676/digitalvideo/vast. VAST outlines a standard document format for communication between digital video players and ad servers, including support for multiple forms of creative and tracking support that conforms to the latest IAB standards.

It’s recommended that you review the resources made available for the IAB. Whenever possible the documentation in this library has been pulled directly from those resources.

This library strives to be as true to the standard as possible, while presenting a Ruby-friendly interface.

Installation

VAST is available as a RubyGem.

gem install vast

Usage

Parse a VAST document and access its contents using an easy-to-understand model. For example:

document = VAST::Document.parse(File.read("vast_document.xml"))
inline_ad = document.inline_ads.first
puts inline_ad.linear_creative.mediafiles.first.type
=> "video/x-flv"
puts inline_ad.linear_creative.mediafiles.first.url
=> #<URI::HTTP:0x1015ad5f0 URL:http://creativeurl.ca/mediafile>

See the documentation for the individual classes for an overview of what information available for each class.

Documentation

Read the rdoc at rdoc.info/projects/chrisdinn/vast

Problems/Bugs/Requests

Please, file an issue.

Running Tests

bundle exec rake

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Release Instructions

Install project development dependencies. The release process will use gem-release for version management.

bundle install

Checkout the master branch; never release changes that haven’t been merged to master.

git checkout master

Create a release branch. Release branch names should match the pattern “v\.[0-9].+”.

git checkout v1.0.5

Bump the project version. By default the bump command will increment the patch version in the lib/vast/version.rb file, and commit the git change.

gem bump [patch|minor|major] --branch

Modify the CHANGELOG.md file. Add the new version to the top of the file, and document all major changes.

When done commit the changelog.

export BRANCH=$(git rev-parse --abbrev-ref HEAD)
git add CHANGELOG.md
git commit -m "CHANGELOG ${BRANCH}"

Push your release branch to github.com

git push origin -u $BRANCH

Open a new pull request from your branch to github.com:chrisdinn/vast@master

Only a github user with write access to github.com/chrisdinn/vast can perform the remaining steps of the release.

Review and merge the pull request to github.com:chrisdinn/vast@master

Check Travis CI testing passed on the merge to master before continuing.

Tag the release and push to rubygems.org using gem-release.

git checkout master
git pull origin
gem release --key $RUBYGEMS_API_KEY --tag --push

© 2010 Chris Dinn. See LICENSE for details.

vast's People

Contributors

bf4 avatar careyrp avatar chrisdinn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.