zencodable 0.1.6 → 0.2.0
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.
- data/README.md +12 -3
- data/lib/zencodable.rb +25 -16
- data/lib/zencodable/version.rb +1 -1
- data/test/debug.log +1124 -0
- data/test/dummy/app/models/video.rb +1 -1
- data/test/zencodable_test.rb +23 -11
- metadata +16 -16
@@ -3,7 +3,7 @@ class Video < ActiveRecord::Base
|
|
3
3
|
has_video_encodings :video_files, :formats => [:ogg, :mp4, :webm, :flv],
|
4
4
|
:output_dimensions => '852x480',
|
5
5
|
:s3_config => "#{Rails.root}/config/amazon_s3.yml",
|
6
|
-
:path => "videos/zc/:
|
6
|
+
:path => "videos/zc/:title/",
|
7
7
|
:thumbnails => { :number => 4, :aspect_mode => 'crop', 'size' => '290x160' },
|
8
8
|
:options => { :device_profile => 'mobile/advanced' }
|
9
9
|
|
data/test/zencodable_test.rb
CHANGED
@@ -54,35 +54,33 @@ class ZencodableTest < ActiveSupport::TestCase
|
|
54
54
|
end
|
55
55
|
|
56
56
|
test "creates a correct S3 url" do
|
57
|
-
|
58
|
-
|
59
|
-
s3_config = '/some/path/to/s3.yml'
|
60
|
-
bucket = 'zenbucket'
|
61
|
-
assert_equal "s3://zenbucket.s3.amazonaws.com/videos/encoded/rainbows-and-puppies-hd.with-unicorns/", Zencodable::Encoder::Job.s3_url(origin_url, bucket, path)
|
57
|
+
video_file = Factory :video, :origin_url => 'http://foo.com/somepath/2/4/Rainbows and puppies [HD].with unicorns.mov'
|
58
|
+
assert_equal "s3://zenbucket.s3.amazonaws.com/videos/encoded/", Zencodable::Encoder::Job.s3_url(video_file, 'zenbucket')
|
62
59
|
end
|
63
60
|
|
64
61
|
test "builds the correct default settings" do
|
65
|
-
|
62
|
+
video_file = Factory :video, :origin_url => 'http://foo.com/somepath/2/4/Rainbows and puppies [HD].with unicorns.mov'
|
66
63
|
|
67
64
|
default_settings = [{
|
68
65
|
:public => true,
|
69
66
|
:format => "mp4",
|
70
67
|
:label => "mp4",
|
71
68
|
:mock => true,
|
69
|
+
:filename => 'rainbows-and-puppies-hd.with-unicorns.mp4',
|
72
70
|
:base_url => "s3://zenbucket.s3.amazonaws.com/videos/encoded/"
|
73
71
|
}]
|
74
72
|
|
75
|
-
|
73
|
+
Video.encoding_options = {:bucket => 'zenbucket', :path => 'videos/encoded'}
|
76
74
|
|
77
|
-
assert_equal default_settings, Zencodable::Encoder::Job.build_encoder_output_options(
|
75
|
+
assert_equal default_settings, Zencodable::Encoder::Job.build_encoder_output_options(video_file)
|
78
76
|
end
|
79
77
|
|
80
78
|
test "builds correct settings when a thumbnails are requested" do
|
81
|
-
origin_url = 'http://foo.com/somepath/2/4/super_tricks.mov'
|
82
79
|
|
83
|
-
|
80
|
+
Video.encoding_options = {:formats => [:ogg, :mp4], :bucket => 'zenbucket', :path => 'videos/encoded', :thumbnails => { :number => 4 }}
|
81
|
+
video_file = Factory :video, :origin_url => 'http://foo.com/somepath/2/4/super_tricks.mov'
|
84
82
|
|
85
|
-
output_options = Zencodable::Encoder::Job.build_encoder_output_options(
|
83
|
+
output_options = Zencodable::Encoder::Job.build_encoder_output_options(video_file)
|
86
84
|
|
87
85
|
# there should be a thumbnails option set for the first format request
|
88
86
|
assert_equal 4, output_options[0][:thumbnails][:number]
|
@@ -91,4 +89,18 @@ class ZencodableTest < ActiveSupport::TestCase
|
|
91
89
|
assert_nil output_options[1][:thumbnails]
|
92
90
|
end
|
93
91
|
|
92
|
+
test "interpolates model methods into the :path parameter" do
|
93
|
+
Video.encoding_options = {:formats => [:ogg, :mp4],
|
94
|
+
:bucket => 'zenbucket',
|
95
|
+
:path => 'videos/encoded/:rating/:title'}
|
96
|
+
Video.any_instance.stubs(:rating).returns('PG')
|
97
|
+
video_file = Factory :video, :title => 'Last of the Mohecans', :origin_url => 'http://foo.com/somepath/super kittehs!.mov'
|
98
|
+
|
99
|
+
output_options = Zencodable::Encoder::Job.build_encoder_output_options(video_file)
|
100
|
+
|
101
|
+
assert_equal 's3://zenbucket.s3.amazonaws.com/videos/encoded/PG/Last of the Mohecans/', output_options[0][:base_url]
|
102
|
+
|
103
|
+
assert_equal 'super-kittehs.ogg', output_options[0][:filename]
|
104
|
+
end
|
105
|
+
|
94
106
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zencodable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &10687100 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *10687100
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: aws-s3
|
27
|
-
requirement: &
|
27
|
+
requirement: &10686280 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *10686280
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: zencoder
|
38
|
-
requirement: &
|
38
|
+
requirement: &10685480 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *10685480
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: typhoeus
|
49
|
-
requirement: &
|
49
|
+
requirement: &10683060 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *10683060
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: sqlite3
|
60
|
-
requirement: &
|
60
|
+
requirement: &10682560 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *10682560
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
|
-
requirement: &
|
71
|
+
requirement: &10682080 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *10682080
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: factory_girl
|
82
|
-
requirement: &
|
82
|
+
requirement: &10681620 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *10681620
|
91
91
|
description: provides a `has_video_encodings` class method to your models that allows
|
92
92
|
you to configure and set up any Zencoder settings you will need to create multiple
|
93
93
|
output video container formats (mp4, ogg, wmv, etc) from a single uploaded source
|