Skip to content
A gem for parsing VAST 2.0 documents
Branch: master
Clone or download
chrisdinn Merge pull request #13 from admedo/update-vast-xsd
Update Vast XSD files to latest from IAB.
Latest commit beae72c Apr 2, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Update Vast XSD files Apr 2, 2019
.gitignore Update Gemfile to current conventions Nov 3, 2014
.travis.yml Make `rake test` the default rake test, per conventions Nov 3, 2014
Gemfile Document gems Nov 3, 2014
LICENSE Add gemspec and further meet the standard. Aug 23, 2010
Pathfile update Gem to make vast gem work on ruby 1.9.3 Jan 30, 2013
README.rdoc Make `rake test` the default rake test, per conventions Nov 3, 2014
Rakefile Make `rake test` the default rake test, per conventions Nov 3, 2014
vast.gemspec Bump nokogiri Jan 28, 2015



A library for parsing Digital Video Ad Serving Template (VAST) 2.0 XML documents, as outlined by the Interactive Advertising Bureau at 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.


VAST is available as a RubyGem.

gem install vast


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

document = VAST::Document.parse("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:>

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


Read the rdoc at


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.


© 2010 Chris Dinn. See LICENSE for details.

You can’t perform that action at this time.