vast 0.1

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.
@@ -0,0 +1,3 @@
1
+ <!-- Invalid due to missing version attribute in VAST tag -->
2
+ <VAST>
3
+ </VAST>
@@ -0,0 +1,58 @@
1
+ <!-- Invalid VAST document with ad type commented out -->
2
+ <VAST version="2.0">
3
+
4
+ <Ad id="601364">
5
+ <!-- <InLine> -->
6
+ <AdSystem>Acudeo Compatible</AdSystem>
7
+ <AdTitle>VAST 2.0 Instream Test 1</AdTitle>
8
+ <Description>VAST 2.0 Instream Test 1</Description>
9
+ <Error>http://myErrorURL/error</Error>
10
+
11
+ <Impression>http://myTrackingURL/impression</Impression>
12
+ <Creatives>
13
+ <Creative AdID="601364">
14
+ <Linear>
15
+ <Duration>00:00:30</Duration>
16
+ <TrackingEvents>
17
+ <Tracking event="creativeView">http://myTrackingURL/creativeView</Tracking>
18
+
19
+ <Tracking event="start">http://myTrackingURL/start</Tracking>
20
+ <Tracking event="midpoint">http://myTrackingURL/midpoint</Tracking>
21
+ <Tracking event="firstQuartile">http://myTrackingURL/firstQuartile</Tracking>
22
+ <Tracking event="thirdQuartile">http://myTrackingURL/thirdQuartile</Tracking>
23
+ <Tracking event="complete">http://myTrackingURL/complete</Tracking>
24
+ </TrackingEvents>
25
+
26
+ <VideoClicks>
27
+ <ClickThrough>http://www.tremormedia.com</ClickThrough>
28
+ <ClickTracking>http://myTrackingURL/click</ClickTracking>
29
+ </VideoClicks>
30
+ <MediaFiles>
31
+ <MediaFile delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true">http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv</MediaFile>
32
+ </MediaFiles>
33
+
34
+ </Linear>
35
+ </Creative>
36
+ <Creative AdID="601364-Companion">
37
+ <CompanionAds>
38
+ <Companion width="300" height="250">
39
+ <StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/Blistex1.jpg</StaticResource>
40
+ <TrackingEvents>
41
+ <Tracking event="creativeView">http://myTrackingURL/firstCompanionCreativeView</Tracking>
42
+
43
+ </TrackingEvents>
44
+
45
+ <CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
46
+ </Companion>
47
+ <Companion width="728" height="90">
48
+ <StaticResource creativeType="image/jpeg">http://demo.tremormedia.com/proddev/vast/728x90_banner1.jpg</StaticResource>
49
+ <CompanionClickThrough>http://www.tremormedia.com</CompanionClickThrough>
50
+ </Companion>
51
+
52
+ </CompanionAds>
53
+ </Creative>
54
+ </Creatives>
55
+ <!-- </InLine> -->
56
+ </Ad>
57
+
58
+ </VAST>
@@ -0,0 +1,39 @@
1
+ <!-- Invalid VAST document with missing ad creative-->
2
+ <VAST version="2.0">
3
+
4
+ <Ad id="601364">
5
+ <InLine>
6
+ <AdSystem>Acudeo Compatible</AdSystem>
7
+ <AdTitle>VAST 2.0 Instream Test 1</AdTitle>
8
+ <Description>VAST 2.0 Instream Test 1</Description>
9
+ <Error>http://myErrorURL/error</Error>
10
+
11
+ <Impression>http://myTrackingURL/impression</Impression>
12
+ <Creatives>
13
+ <Creative AdID="601364">
14
+ <!-- <Linear> -->
15
+ <Duration>00:00:30</Duration>
16
+ <TrackingEvents>
17
+ <Tracking event="creativeView">http://myTrackingURL/creativeView</Tracking>
18
+
19
+ <Tracking event="start">http://myTrackingURL/start</Tracking>
20
+ <Tracking event="midpoint">http://myTrackingURL/midpoint</Tracking>
21
+ <Tracking event="firstQuartile">http://myTrackingURL/firstQuartile</Tracking>
22
+ <Tracking event="thirdQuartile">http://myTrackingURL/thirdQuartile</Tracking>
23
+ <Tracking event="complete">http://myTrackingURL/complete</Tracking>
24
+ </TrackingEvents>
25
+
26
+ <VideoClicks>
27
+ <ClickThrough>http://www.tremormedia.com</ClickThrough>
28
+ <ClickTracking>http://myTrackingURL/click</ClickTracking>
29
+ </VideoClicks>
30
+ <MediaFiles>
31
+ <MediaFile delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true">http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv</MediaFile>
32
+ </MediaFiles>
33
+ <!-- </Linear> -->
34
+ </Creative>
35
+ </Creatives>
36
+ </InLine>
37
+ </Ad>
38
+
39
+ </VAST>
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class InlineAdTest < Test::Unit::TestCase
4
+
5
+ def test_ad_should_know_attributes
6
+ document_file = example_file('document_with_one_inline_ad.xml')
7
+ document = VAST::Document.parse!(document_file)
8
+ inline_ad = document.inline_ads.first
9
+
10
+ assert_equal "http://mySurveyURL/survey", inline_ad.survey_url.to_s
11
+ assert_equal "VAST 2.0 Instream Test 1", inline_ad.ad_title
12
+ end
13
+
14
+ end
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+ class LinearCreativeTest < Test::Unit::TestCase
4
+
5
+ def test_should_know_attributes
6
+ document_file = example_file('document_with_one_inline_ad.xml')
7
+ document = VAST::Document.parse!(document_file)
8
+ creative = document.inline_ads.first.linear_creatives.first
9
+
10
+ assert_equal "00:00:30", creative.duration
11
+ assert_equal "http://www.tremormedia.com", creative.click_through_url.to_s
12
+ assert_equal "http://myTrackingURL/click1", creative.click_tracking_urls.first.to_s
13
+ assert_equal "http://myTrackingURL/click2", creative.click_tracking_urls.last.to_s
14
+ assert_equal "http://myTrackingURL/custom1", creative.custom_click_urls[:custom_one].to_s
15
+ assert_equal "http://myTrackingURL/custom2", creative.custom_click_urls[:custom_two].to_s
16
+ end
17
+
18
+ def test_should_have_mediafiles
19
+ document_file = example_file('document_with_one_inline_ad.xml')
20
+ document = VAST::Document.parse!(document_file)
21
+ creative = document.inline_ads.first.linear_creatives.first
22
+
23
+ assert creative.mediafiles.first.kind_of?(VAST::Mediafile)
24
+ end
25
+
26
+ end
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ class MediafileTest < Test::Unit::TestCase
4
+ def test_should_know_attributes
5
+ document_file = example_file('document_with_one_inline_ad.xml')
6
+ document = VAST::Document.parse!(document_file)
7
+ mediafile = VAST::Mediafile.new(document.at('MediaFile'))
8
+
9
+ assert_equal "http://cdnp.tremormedia.com/video/acudeo/Carrot_400x300_500kb.flv", mediafile.url.to_s
10
+ assert_equal "firstFile", mediafile.id
11
+ assert_equal "progressive", mediafile.delivery
12
+ assert_equal "video/x-flv", mediafile.type
13
+ assert_equal 400, mediafile.width
14
+ assert_equal 300, mediafile.height
15
+ assert_equal 500, mediafile.bitrate
16
+ assert mediafile.scalable?
17
+ assert mediafile.maintain_aspect_ratio?
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'bundler'
4
+
5
+ Bundler.setup(:default, :test)
6
+ Bundler.require(:default, :test)
7
+
8
+ require 'vast'
9
+
10
+ def example_file(filename)
11
+ file_path = File.expand_path(File.join(File.dirname(__FILE__), 'examples', filename))
12
+ File.read file_path
13
+ end
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vast
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ version: "0.1"
9
+ platform: ruby
10
+ authors:
11
+ - Chris Dinn
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+
16
+ date: 2010-08-23 00:00:00 -04:00
17
+ default_executable:
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: nokogiri
21
+ prerelease: false
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ segments:
27
+ - 1
28
+ - 4
29
+ - 3
30
+ version: 1.4.3
31
+ type: :runtime
32
+ version_requirements: *id001
33
+ description:
34
+ email:
35
+ - chrisgdinn@gmail.com
36
+ executables: []
37
+
38
+ extensions: []
39
+
40
+ extra_rdoc_files: []
41
+
42
+ files:
43
+ - lib/vast.rb
44
+ - lib/vast_2.0.1.xsd
45
+ - lib/vast/ad.rb
46
+ - lib/vast/creative.rb
47
+ - lib/vast/document.rb
48
+ - lib/vast/inline_ad.rb
49
+ - lib/vast/linear_creative.rb
50
+ - lib/vast/mediafile.rb
51
+ - test/ad_test.rb
52
+ - test/creative_test.rb
53
+ - test/document_test.rb
54
+ - test/inline_ad_test.rb
55
+ - test/linear_creative_test.rb
56
+ - test/mediafile_test.rb
57
+ - test/test_helper.rb
58
+ - test/examples/document_with_no_ads.xml
59
+ - test/examples/document_with_one_inline_ad.xml
60
+ - test/examples/document_with_one_inline_and_one_wrapper_ad.xml
61
+ - test/examples/document_with_one_wrapper_ad.xml
62
+ - test/examples/document_with_two_inline_ads.xml
63
+ - test/examples/invalid_document.xml
64
+ - test/examples/invalid_document_with_missing_ad_type.xml
65
+ - test/examples/invalid_document_with_missing_creative_type.xml
66
+ - LICENSE
67
+ - README.md
68
+ - README.rdoc
69
+ has_rdoc: true
70
+ homepage: http://github.com/chrisdinn/vast
71
+ licenses: []
72
+
73
+ post_install_message:
74
+ rdoc_options: []
75
+
76
+ require_paths:
77
+ - lib
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ segments:
83
+ - 0
84
+ version: "0"
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ segments:
90
+ - 0
91
+ version: "0"
92
+ requirements: []
93
+
94
+ rubyforge_project:
95
+ rubygems_version: 1.3.6
96
+ signing_key:
97
+ specification_version: 3
98
+ summary: A gem for working with VAST 2.0 documents
99
+ test_files: []
100
+