animoto 1.2.0 → 1.3.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/lib/animoto.rb +2 -2
- data/lib/animoto/assets/base.rb +2 -1
- data/lib/animoto/assets/footage.rb +36 -4
- data/lib/animoto/assets/image.rb +39 -6
- data/lib/animoto/assets/song.rb +29 -0
- data/lib/animoto/assets/title_card.rb +17 -5
- data/lib/animoto/client.rb +0 -2
- data/lib/animoto/manifests/directing.rb +6 -6
- data/spec/animoto/assets/footage_spec.rb +51 -6
- data/spec/animoto/assets/image_spec.rb +34 -4
- data/spec/animoto/assets/song_spec.rb +50 -1
- data/spec/animoto/assets/title_card_spec.rb +17 -3
- metadata +4 -8
- data/lib/animoto/support/coverable.rb +0 -31
- data/lib/animoto/support/visual.rb +0 -32
- data/spec/animoto/support/coverable_spec.rb +0 -5
- data/spec/animoto/support/visual_spec.rb +0 -5
data/lib/animoto.rb
CHANGED
data/lib/animoto/assets/base.rb
CHANGED
@@ -11,6 +11,7 @@ module Animoto
|
|
11
11
|
# Creates a new asset.
|
12
12
|
#
|
13
13
|
# @param [String] source the URL of this asset
|
14
|
+
# @param [Hash{Symbol=>Object}] options
|
14
15
|
# @return [Assets::Base] the asset
|
15
16
|
def initialize source, options = {}
|
16
17
|
@source = source
|
@@ -21,7 +22,7 @@ module Animoto
|
|
21
22
|
#
|
22
23
|
# @return [Hash{String=>Object}] this asset as a Hash
|
23
24
|
def to_hash
|
24
|
-
{ 'source_url' => @source }
|
25
|
+
{ 'source_url' => @source, 'type' => self.class.name.split('::').last.underscore }
|
25
26
|
end
|
26
27
|
|
27
28
|
end
|
@@ -1,9 +1,6 @@
|
|
1
1
|
module Animoto
|
2
2
|
module Assets
|
3
3
|
class Footage < Animoto::Assets::Base
|
4
|
-
include Support::Visual
|
5
|
-
include Support::Coverable
|
6
|
-
|
7
4
|
# Whether or not to mix the audio of this footage with the video's soundtrack.
|
8
5
|
# @return [Boolean]
|
9
6
|
attr_accessor :audio_mix
|
@@ -17,16 +14,51 @@ module Animoto
|
|
17
14
|
# @return [Float]
|
18
15
|
attr_accessor :duration
|
19
16
|
|
17
|
+
# The number of clockwise 90-degree rotations that should be applied to this video.
|
18
|
+
# @return [Integer]
|
19
|
+
attr_accessor :rotation
|
20
|
+
|
21
|
+
# Whether or not this footage is the cover of the video. If this piece of footage is
|
22
|
+
# the video's cover, the cover image will be generated from a frame in this footage.
|
23
|
+
# @return [Boolean]
|
24
|
+
attr_writer :cover
|
25
|
+
|
26
|
+
# Returns whether or not this footage is marked as the cover.
|
27
|
+
# @return [Boolean]
|
28
|
+
def cover?
|
29
|
+
@cover
|
30
|
+
end
|
31
|
+
|
32
|
+
# Creates a new Footage object.
|
33
|
+
#
|
34
|
+
# @param [String] source the source URL of this footage
|
35
|
+
# @param [Hash{Symbol=>Object}] options
|
36
|
+
# @option options [Boolean] :audio_mix whether or not to mix the audio from this footage with the soundtrack of the video
|
37
|
+
# @option options [Float] :start_time the offset in seconds from the beginning of where to start playing this footage
|
38
|
+
# @option options [Float] :duration the length in seconds to play this footage
|
39
|
+
# @option options [Integer] :rotation the number of clockwise 90-degree rotations to apply to this footage
|
40
|
+
# @option options [Boolean] :cover whether or not to generate the cover of this video from this footage
|
41
|
+
# @return [Assets::Footage] the Footage object
|
42
|
+
def initialize source, options = {}
|
43
|
+
super
|
44
|
+
@audio_mix = options[:audio_mix]
|
45
|
+
@start_time = options[:start_time]
|
46
|
+
@duration = options[:duration]
|
47
|
+
@rotation = options[:rotation]
|
48
|
+
@cover = options[:cover]
|
49
|
+
end
|
50
|
+
|
20
51
|
# Returns a representation of this Footage as a Hash.
|
21
52
|
#
|
22
53
|
# @return [Hash{String=>Object}] this asset as a Hash
|
23
|
-
# @see Animoto::Support::Visual#to_hash
|
24
54
|
# @see Animoto::Assets::Base#to_hash
|
25
55
|
def to_hash
|
26
56
|
hash = super
|
27
57
|
hash['audio_mix'] = 'MIX' if audio_mix
|
28
58
|
hash['start_time'] = start_time if start_time
|
29
59
|
hash['duration'] = duration if duration
|
60
|
+
hash['rotation'] = rotation if rotation
|
61
|
+
hash['cover'] = cover? unless @cover.nil?
|
30
62
|
hash
|
31
63
|
end
|
32
64
|
end
|
data/lib/animoto/assets/image.rb
CHANGED
@@ -1,17 +1,50 @@
|
|
1
1
|
module Animoto
|
2
2
|
module Assets
|
3
3
|
class Image < Animoto::Assets::Base
|
4
|
-
|
5
|
-
include Support::Coverable
|
6
|
-
|
7
|
-
# The EXIF rotation value for how this image should be rotated in the video.
|
4
|
+
# The number of clockwise 90-degree rotations that should be applied to this image.
|
8
5
|
# @return [Integer]
|
9
6
|
attr_accessor :rotation
|
10
|
-
|
7
|
+
|
8
|
+
# Whether or not this image is spotlit. Spotlighting a visual tells to director to add
|
9
|
+
# more emphasis to this visual when directing.
|
10
|
+
# @return [Boolean]
|
11
|
+
attr_writer :spotlit
|
12
|
+
|
13
|
+
# Returns whether or not this image is spotlit.
|
14
|
+
# @return [Boolean]
|
15
|
+
def spotlit?
|
16
|
+
@spotlit
|
17
|
+
end
|
18
|
+
|
19
|
+
# Whether or not this image is the cover of the video. If this image is the video's cover,
|
20
|
+
# the cover image will be generated using this image.
|
21
|
+
# @return [Boolean]
|
22
|
+
attr_writer :cover
|
23
|
+
|
24
|
+
# Returns whether or not this footage is marked as the cover.
|
25
|
+
# @return [Boolean]
|
26
|
+
def cover?
|
27
|
+
@cover
|
28
|
+
end
|
29
|
+
|
30
|
+
# Creates a new Image object.
|
31
|
+
#
|
32
|
+
# @param [String] source the source URL of this image
|
33
|
+
# @param [Hash{Symbol=>Object}] options
|
34
|
+
# @option options [Integer] :rotation the number of clockwise 90-degree rotations to apply to this image
|
35
|
+
# @option options [Boolean] :spotlit whether or not to spotlight this image
|
36
|
+
# @option options [Boolean] :cover whether or not to generate the cover of this video from this image
|
37
|
+
# @return [Assets::Image] the Image object
|
38
|
+
def initialize source, options = {}
|
39
|
+
super
|
40
|
+
@rotation = options[:rotation]
|
41
|
+
@spotlit = options[:spotlit]
|
42
|
+
@cover = options[:cover]
|
43
|
+
end
|
44
|
+
|
11
45
|
# Returns a representation of this Image as a Hash.
|
12
46
|
#
|
13
47
|
# @return [Hash{String=>Object}] this asset as a Hash
|
14
|
-
# @see Animoto::Support::Visual#to_hash
|
15
48
|
# @see Animoto::Assets::Base#to_hash
|
16
49
|
def to_hash
|
17
50
|
hash = super
|
data/lib/animoto/assets/song.rb
CHANGED
@@ -10,6 +10,33 @@ module Animoto
|
|
10
10
|
# The duration in seconds of how long this song should play.
|
11
11
|
# @return [Float]
|
12
12
|
attr_accessor :duration
|
13
|
+
|
14
|
+
# The title of this song. Defaults to the title read from the metadata of
|
15
|
+
# the source file.
|
16
|
+
# @return [String]
|
17
|
+
attr_accessor :title
|
18
|
+
|
19
|
+
# The artist of this song. Default to the title read from the metadata of
|
20
|
+
# the source file.
|
21
|
+
# @return [String]
|
22
|
+
attr_accessor :artist
|
23
|
+
|
24
|
+
# Creates a new Song object.
|
25
|
+
#
|
26
|
+
# @param [String] source the source URL of this song
|
27
|
+
# @param [Hash{Symbol=>Object}] options
|
28
|
+
# @option options [Float] :start_time the time offset in seconds from the beginning of where to start playing this song
|
29
|
+
# @option options [Float] :duration the length in seconds of how long to play this song
|
30
|
+
# @option options [String] :title the title of this song. Defaults to being read from the song file's metadata
|
31
|
+
# @option options [String] :artist the artist of this song. Defaults to being read from the song file's metadata
|
32
|
+
# @return [Assets::Song] the Song object
|
33
|
+
def initialize source, options = {}
|
34
|
+
super
|
35
|
+
@start_time = options[:start_time]
|
36
|
+
@duration = options[:duration]
|
37
|
+
@title = options[:title]
|
38
|
+
@artist = options[:artist]
|
39
|
+
end
|
13
40
|
|
14
41
|
# Returns a representation of this Song as a Hash.
|
15
42
|
#
|
@@ -19,6 +46,8 @@ module Animoto
|
|
19
46
|
hash = super
|
20
47
|
hash['start_time'] = start_time if start_time
|
21
48
|
hash['duration'] = duration if duration
|
49
|
+
hash['title'] = title if title
|
50
|
+
hash['artist'] = artist if artist
|
22
51
|
hash
|
23
52
|
end
|
24
53
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
module Animoto
|
2
2
|
module Assets
|
3
3
|
class TitleCard
|
4
|
-
include Support::Visual
|
5
|
-
|
6
4
|
# The main text of this title card.
|
7
5
|
# @return [String]
|
8
6
|
attr_accessor :title
|
@@ -11,20 +9,34 @@ module Animoto
|
|
11
9
|
# @return [String]
|
12
10
|
attr_accessor :subtitle
|
13
11
|
|
12
|
+
# Whether or not this image is spotlit. Spotlighting a visual tells to director to add
|
13
|
+
# more emphasis to this visual when directing.
|
14
|
+
# @return [Boolean]
|
15
|
+
attr_writer :spotlit
|
16
|
+
|
17
|
+
# Returns whether or not this image is spotlit.
|
18
|
+
# @return [Boolean]
|
19
|
+
def spotlit?
|
20
|
+
@spotlit
|
21
|
+
end
|
22
|
+
|
14
23
|
# Creates a new TitleCard.
|
15
24
|
#
|
16
25
|
# @param [String] title the main text
|
17
26
|
# @param [String] subtitle the secondary text
|
18
|
-
|
27
|
+
# @param [Hash{Symbol=>Object}] options
|
28
|
+
# @option options [Boolean] :spotlit whether or not to spotlight this title card
|
29
|
+
# @return [Assets::TitleCard] the TitleCard object
|
30
|
+
def initialize title, subtitle = nil, options = {}
|
19
31
|
@title, @subtitle = title, subtitle
|
32
|
+
@spotlit = options[:spotlit]
|
20
33
|
end
|
21
34
|
|
22
35
|
# Returns a representation of this TitleCard as a Hash.
|
23
36
|
#
|
24
37
|
# @return [Hash{String=>Object}] this TitleCard as a Hash
|
25
|
-
# @see Animoto::Support::Visual#to_hash
|
26
38
|
def to_hash
|
27
|
-
hash =
|
39
|
+
hash = {}
|
28
40
|
hash['h1'] = title
|
29
41
|
hash['h2'] = subtitle if subtitle
|
30
42
|
hash['spotlit'] = spotlit? unless @spotlit.nil?
|
data/lib/animoto/client.rb
CHANGED
@@ -3,13 +3,11 @@ require 'uri'
|
|
3
3
|
require 'logger'
|
4
4
|
|
5
5
|
require 'animoto/support/content_type'
|
6
|
-
require 'animoto/support/coverable'
|
7
6
|
require 'animoto/support/dynamic_class_loader'
|
8
7
|
require 'animoto/support/errors'
|
9
8
|
require 'animoto/support/hash'
|
10
9
|
require 'animoto/support/standard_envelope'
|
11
10
|
require 'animoto/support/string'
|
12
|
-
require 'animoto/support/visual'
|
13
11
|
|
14
12
|
require 'animoto/resources/base'
|
15
13
|
require 'animoto/resources/storyboard'
|
@@ -11,8 +11,8 @@ module Animoto
|
|
11
11
|
# @return [String]
|
12
12
|
attr_accessor :pacing
|
13
13
|
|
14
|
-
# The array of
|
15
|
-
# @return [Array<
|
14
|
+
# The array of visual objects in this manifest.
|
15
|
+
# @return [Array<Assets::Base,Assets::TitleCard>]
|
16
16
|
attr_reader :visuals
|
17
17
|
|
18
18
|
# The song for this video.
|
@@ -85,14 +85,14 @@ module Animoto
|
|
85
85
|
|
86
86
|
# Adds a visual/song to this manifest.
|
87
87
|
#
|
88
|
-
# @param [
|
88
|
+
# @param [Assets::Base,Assets::TitleCard] asset the asset to add
|
89
89
|
# @return [void]
|
90
|
-
# @raise [ArgumentError] if the asset isn't a Song or
|
90
|
+
# @raise [ArgumentError] if the asset isn't a Song, Image, Footage, or TitleCard
|
91
91
|
def add_visual asset
|
92
92
|
case asset
|
93
93
|
when Animoto::Assets::Song
|
94
94
|
@song = asset
|
95
|
-
when Animoto::
|
95
|
+
when Animoto::Assets::Base, Animoto::Assets::TitleCard
|
96
96
|
@visuals << asset
|
97
97
|
else
|
98
98
|
raise ArgumentError
|
@@ -101,7 +101,7 @@ module Animoto
|
|
101
101
|
|
102
102
|
# Adds a visual/song to this manifest.
|
103
103
|
#
|
104
|
-
# @param [
|
104
|
+
# @param [Assets::Base,Assets::TitleCard] asset the asset to add
|
105
105
|
# @return [self]
|
106
106
|
def << asset
|
107
107
|
add_visual asset
|
@@ -2,8 +2,35 @@ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
|
2
2
|
|
3
3
|
describe Animoto::Assets::Footage do
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
describe "initialization" do
|
6
|
+
before do
|
7
|
+
@footage = Animoto::Assets::Footage.new 'http://website.com/movie.mp4',
|
8
|
+
:audio_mix => true, :start_time => 1.0, :duration => 5.0, :rotation => 3, :cover => true
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should set the source to the given url" do
|
12
|
+
@footage.source.should == 'http://website.com/movie.mp4'
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should set the audio mix to the given value" do
|
16
|
+
@footage.audio_mix.should be_true
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should set the start time to the given time" do
|
20
|
+
@footage.start_time.should == 1.0
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should set the duration to the given length" do
|
24
|
+
@footage.duration.should == 5.0
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should set the rotation to the given amount" do
|
28
|
+
@footage.rotation.should == 3
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should set the cover to the given value" do
|
32
|
+
@footage.should be_a_cover
|
33
|
+
end
|
7
34
|
end
|
8
35
|
|
9
36
|
describe "#to_hash" do
|
@@ -16,10 +43,6 @@ describe Animoto::Assets::Footage do
|
|
16
43
|
@footage.to_hash['source_url'].should == @footage.source
|
17
44
|
end
|
18
45
|
|
19
|
-
it "should not have a 'spotlit' key" do
|
20
|
-
@footage.to_hash.should_not have_key('spotlit')
|
21
|
-
end
|
22
|
-
|
23
46
|
describe "if audio mixing is turned on" do
|
24
47
|
before do
|
25
48
|
@footage.audio_mix = true
|
@@ -52,5 +75,27 @@ describe Animoto::Assets::Footage do
|
|
52
75
|
@footage.to_hash['duration'].should == @footage.duration
|
53
76
|
end
|
54
77
|
end
|
78
|
+
|
79
|
+
describe "if a rotation was given" do
|
80
|
+
before do
|
81
|
+
@footage.rotation = 3
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should have a 'rotation' key with the rotation" do
|
85
|
+
@footage.to_hash.should have_key('rotation')
|
86
|
+
@footage.to_hash['rotation'].should == @footage.rotation
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "if this footage is the cover" do
|
91
|
+
before do
|
92
|
+
@footage.cover = true
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should have a 'cover' key with telling whether or not this footage is the cover" do
|
96
|
+
@footage.to_hash.should have_key('cover')
|
97
|
+
@footage.to_hash['cover'].should == @footage.cover?
|
98
|
+
end
|
99
|
+
end
|
55
100
|
end
|
56
101
|
end
|
@@ -2,10 +2,29 @@ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
|
2
2
|
|
3
3
|
describe Animoto::Assets::Image do
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
describe "initialization" do
|
6
|
+
before do
|
7
|
+
@image = Animoto::Assets::Image.new 'http://website.com/image.png',
|
8
|
+
:rotation => 2, :spotlit => true, :cover => true
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should set the source to the given url" do
|
12
|
+
@image.source.should == 'http://website.com/image.png'
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should set the rotation to the given amount" do
|
16
|
+
@image.rotation.should == 2
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should set the spotlighting to the given value" do
|
20
|
+
@image.should be_spotlit
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should set the cover to the given value" do
|
24
|
+
@image.should be_a_cover
|
25
|
+
end
|
7
26
|
end
|
8
|
-
|
27
|
+
|
9
28
|
describe "#to_hash" do
|
10
29
|
before do
|
11
30
|
@image = Animoto::Assets::Image.new 'http://website.com/image.png'
|
@@ -21,7 +40,7 @@ describe Animoto::Assets::Image do
|
|
21
40
|
@image.rotation = 2
|
22
41
|
end
|
23
42
|
|
24
|
-
it "should have a 'rotation' key with the
|
43
|
+
it "should have a 'rotation' key with the rotation value" do
|
25
44
|
@image.to_hash.should have_key('rotation')
|
26
45
|
@image.to_hash['rotation'].should == @image.rotation
|
27
46
|
end
|
@@ -37,5 +56,16 @@ describe Animoto::Assets::Image do
|
|
37
56
|
@image.to_hash['spotlit'].should == @image.spotlit?
|
38
57
|
end
|
39
58
|
end
|
59
|
+
|
60
|
+
describe "if this image is the cover" do
|
61
|
+
before do
|
62
|
+
@image.cover = true
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should have a 'cover' key telling whether or not this image is the cover" do
|
66
|
+
@image.to_hash.should have_key('cover')
|
67
|
+
@image.to_hash['cover'].should == @image.cover?
|
68
|
+
end
|
69
|
+
end
|
40
70
|
end
|
41
71
|
end
|
@@ -2,6 +2,33 @@ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
|
2
2
|
|
3
3
|
describe Animoto::Assets::Song do
|
4
4
|
|
5
|
+
describe "initialization" do
|
6
|
+
before do
|
7
|
+
@song = Animoto::Assets::Song.new 'http://website.com/song.mp3',
|
8
|
+
:start_time => 30.0, :duration => 90.0, :title => "Hooray for Dolphins!", :artist => "Some Chick with Bangs"
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should set the source to the given url" do
|
12
|
+
@song.source.should == 'http://website.com/song.mp3'
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should set the start time to the given time" do
|
16
|
+
@song.start_time.should == 30.0
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should set the duration to the given length" do
|
20
|
+
@song.duration.should == 90.0
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should set the title to the given string" do
|
24
|
+
@song.title.should == 'Hooray for Dolphins!'
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should set the artist to the given string" do
|
28
|
+
@song.artist.should == 'Some Chick with Bangs'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
5
32
|
describe "#to_hash" do
|
6
33
|
before do
|
7
34
|
@song = Animoto::Assets::Song.new 'http://website.com/song.mp3'
|
@@ -32,6 +59,28 @@ describe Animoto::Assets::Song do
|
|
32
59
|
@song.to_hash.should have_key('duration')
|
33
60
|
@song.to_hash['duration'].should == @song.duration
|
34
61
|
end
|
35
|
-
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "if a title was specified" do
|
65
|
+
before do
|
66
|
+
@song.title = 'Hooray for Dolphins!'
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should have a 'title' key with the title" do
|
70
|
+
@song.to_hash.should have_key('title')
|
71
|
+
@song.to_hash['title'].should == @song.title
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe "if an artist was specified do" do
|
76
|
+
before do
|
77
|
+
@song.artist = 'Some Chick with Bangs'
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should have an 'artist' key with the artist" do
|
81
|
+
@song.to_hash.should have_key('artist')
|
82
|
+
@song.to_hash['artist'].should == @song.artist
|
83
|
+
end
|
84
|
+
end
|
36
85
|
end
|
37
86
|
end
|
@@ -2,10 +2,24 @@ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
|
2
2
|
|
3
3
|
describe Animoto::Assets::TitleCard do
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
describe "initialization" do
|
6
|
+
before do
|
7
|
+
@card = Animoto::Assets::TitleCard.new "hooray", "for everything", :spotlit => true
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should set the title to the given string" do
|
11
|
+
@card.title.should == 'hooray'
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should set the subtitle to the given string" do
|
15
|
+
@card.subtitle.should == 'for everything'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should set the spotlighting to the given value" do
|
19
|
+
@card.should be_spotlit
|
20
|
+
end
|
7
21
|
end
|
8
|
-
|
22
|
+
|
9
23
|
describe "#to_hash" do
|
10
24
|
before do
|
11
25
|
@card = Animoto::Assets::TitleCard.new("hooray")
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: animoto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 1.
|
10
|
+
version: 1.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Animoto
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-21 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -83,13 +83,11 @@ files:
|
|
83
83
|
- ./lib/animoto/response_parsers/json_adapter.rb
|
84
84
|
- ./lib/animoto/response_parsers/yajl_adapter.rb
|
85
85
|
- ./lib/animoto/support/content_type.rb
|
86
|
-
- ./lib/animoto/support/coverable.rb
|
87
86
|
- ./lib/animoto/support/dynamic_class_loader.rb
|
88
87
|
- ./lib/animoto/support/errors.rb
|
89
88
|
- ./lib/animoto/support/hash.rb
|
90
89
|
- ./lib/animoto/support/standard_envelope.rb
|
91
90
|
- ./lib/animoto/support/string.rb
|
92
|
-
- ./lib/animoto/support/visual.rb
|
93
91
|
- ./lib/animoto.rb
|
94
92
|
- ./spec/animoto/assets/base_spec.rb
|
95
93
|
- ./spec/animoto/assets/footage_spec.rb
|
@@ -114,9 +112,7 @@ files:
|
|
114
112
|
- ./spec/animoto/resources/video_spec.rb
|
115
113
|
- ./spec/animoto/response_parsers/json_adapter_spec.rb
|
116
114
|
- ./spec/animoto/response_parsers/yajl_adapter_spec.rb
|
117
|
-
- ./spec/animoto/support/coverable_spec.rb
|
118
115
|
- ./spec/animoto/support/standard_envelope_spec.rb
|
119
|
-
- ./spec/animoto/support/visual_spec.rb
|
120
116
|
- ./spec/animoto_spec.rb
|
121
117
|
- ./spec/spec_helper.rb
|
122
118
|
has_rdoc: true
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module Animoto
|
2
|
-
module Support
|
3
|
-
module Coverable
|
4
|
-
|
5
|
-
# Setter for cover, which makes this visual the cover for the video. Only
|
6
|
-
# one image or piece of footage in a manifest can be declared the cover.
|
7
|
-
#
|
8
|
-
# @param [Boolean] bool true if this visual should be the cover
|
9
|
-
def cover= bool
|
10
|
-
@cover = bool
|
11
|
-
end
|
12
|
-
|
13
|
-
# Returns true if this visual is the cover.
|
14
|
-
#
|
15
|
-
# @return [Boolean] whether or not this visual is the cover
|
16
|
-
def cover?
|
17
|
-
@cover
|
18
|
-
end
|
19
|
-
|
20
|
-
# Returns a representation of this visual as a Hash.
|
21
|
-
#
|
22
|
-
# @return [Hash{String=>Object}] this visual as a Hash
|
23
|
-
def to_hash
|
24
|
-
hash = super rescue {}
|
25
|
-
hash['cover'] = cover? unless @cover.nil?
|
26
|
-
hash
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
module Animoto
|
2
|
-
module Support
|
3
|
-
module Visual
|
4
|
-
|
5
|
-
# Setter for spotlighting, which instructs the director to give special attention
|
6
|
-
# to this visual when directing.
|
7
|
-
#
|
8
|
-
# @param [Boolean] bool true if this visual should receive special attention
|
9
|
-
def spotlit= bool
|
10
|
-
@spotlit = bool
|
11
|
-
end
|
12
|
-
|
13
|
-
# Returns true if this visual is spotlit.
|
14
|
-
#
|
15
|
-
# @return [Boolean] whether or not this visual is spotlit
|
16
|
-
def spotlit?
|
17
|
-
@spotlit
|
18
|
-
end
|
19
|
-
|
20
|
-
# Returns a representation of this Visual as a Hash
|
21
|
-
#
|
22
|
-
# @return [Hash{String=>Object}] this Visual as a Hash
|
23
|
-
def to_hash
|
24
|
-
hash = super rescue {}
|
25
|
-
hash['spotlit'] = spotlit? unless @spotlit.nil?
|
26
|
-
hash['type'] = self.class.name.split('::').last.underscore
|
27
|
-
hash
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|