videojuicer-vj-sdk 0.1.5 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +3 -3
- data/VERSION.yml +1 -1
- data/lib/core_ext/hash.rb +13 -1
- data/lib/core_ext/object.rb +15 -0
- data/lib/core_ext/string.rb +11 -0
- data/lib/sdk_connection_harness.rb +25 -11
- data/lib/videojuicer.rb +13 -9
- data/lib/videojuicer/asset/audio.rb +5 -4
- data/lib/videojuicer/asset/base.rb +30 -15
- data/lib/videojuicer/asset/flash.rb +8 -0
- data/lib/videojuicer/asset/image.rb +2 -2
- data/lib/videojuicer/asset/video.rb +12 -9
- data/lib/videojuicer/campaign.rb +10 -1
- data/lib/videojuicer/campaign_policy.rb +116 -0
- data/lib/videojuicer/criterion/base.rb +56 -0
- data/lib/videojuicer/criterion/date_range.rb +7 -17
- data/lib/videojuicer/criterion/geolocation.rb +11 -20
- data/lib/videojuicer/criterion/request.rb +8 -17
- data/lib/videojuicer/criterion/time.rb +8 -18
- data/lib/videojuicer/criterion/week_day.rb +13 -17
- data/lib/videojuicer/oauth/request_proxy.rb +19 -13
- data/lib/videojuicer/presentation.rb +6 -0
- data/lib/videojuicer/promo/base.rb +72 -0
- data/lib/videojuicer/resource/base.rb +17 -15
- data/lib/videojuicer/resource/embeddable.rb +30 -0
- data/lib/videojuicer/resource/inferrable.rb +67 -7
- data/lib/videojuicer/resource/property_registry.rb +19 -0
- data/lib/videojuicer/resource/relationships/belongs_to.rb +2 -1
- data/lib/videojuicer/resource/types.rb +28 -0
- data/spec/assets/audio_spec.rb +24 -0
- data/spec/assets/flash_spec.rb +24 -0
- data/spec/assets/image_spec.rb +24 -0
- data/spec/assets/text_spec.rb +24 -0
- data/spec/assets/video_spec.rb +24 -0
- data/spec/campaign_policy_spec.rb +41 -0
- data/spec/campaign_spec.rb +0 -12
- data/spec/criterion/date_range_spec.rb +24 -0
- data/spec/criterion/geolocation_spec.rb +23 -0
- data/spec/criterion/request_spec.rb +23 -0
- data/spec/criterion/time_spec.rb +23 -0
- data/spec/criterion/week_day_spec.rb +23 -0
- data/spec/files/flash.swf +0 -0
- data/spec/helpers/be_equal_to.rb +26 -0
- data/spec/helpers/spec_fixtures.rb +214 -0
- data/spec/helpers/spec_helper.rb +27 -25
- data/spec/presentation_spec.rb +2 -15
- data/spec/promos/audio_spec.rb +23 -0
- data/spec/promos/image_spec.rb +24 -0
- data/spec/promos/text_spec.rb +23 -0
- data/spec/promos/video_spec.rb +23 -0
- data/spec/request_proxy_spec.rb +8 -12
- data/spec/session_spec.rb +3 -1
- data/spec/shared/dependent_spec.rb +40 -0
- data/spec/shared/embeddable_spec.rb +34 -0
- data/spec/shared/model_spec.rb +74 -0
- data/spec/shared/resource_spec.rb +12 -41
- data/spec/spec.opts +1 -1
- data/spec/user_spec.rb +5 -27
- data/tasks/vj-core.rb +3 -2
- data/vj-sdk.gemspec +56 -24
- metadata +53 -23
- data/lib/videojuicer/criterion/affiliate.rb +0 -21
- data/lib/videojuicer/criterion/embed.rb +0 -12
- data/spec/audio_spec.rb +0 -45
- data/spec/criteria/date_range_spec.rb +0 -37
- data/spec/criteria/geolocation_spec.rb +0 -38
- data/spec/criteria/request_spec.rb +0 -36
- data/spec/criteria/time_spec.rb +0 -37
- data/spec/criteria/week_day_spec.rb +0 -39
- data/spec/image_spec.rb +0 -44
- data/spec/text_spec.rb +0 -42
- data/spec/video_spec.rb +0 -50
@@ -1,38 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Criterion::Geolocation do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Criterion::Geolocation
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "criterion"
|
26
|
-
@plural_name = "criteria/geolocation"
|
27
|
-
@good_attributes = {
|
28
|
-
:city => "Mountain View",
|
29
|
-
:region => "CA",
|
30
|
-
:country => "United States"
|
31
|
-
}
|
32
|
-
end
|
33
|
-
|
34
|
-
it_should_behave_like "a RESTFUL resource model"
|
35
|
-
end
|
36
|
-
|
37
|
-
|
38
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Criterion::Request do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Criterion::Request
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "criterion"
|
26
|
-
@plural_name = "criteria/request"
|
27
|
-
@good_attributes = {
|
28
|
-
:referrer => "http://www.google.com",
|
29
|
-
}
|
30
|
-
end
|
31
|
-
|
32
|
-
it_should_behave_like "a RESTFUL resource model"
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
end
|
data/spec/criteria/time_spec.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Criterion::Time do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Criterion::Time
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "criterion"
|
26
|
-
@plural_name = "criteria/time"
|
27
|
-
@good_attributes = {
|
28
|
-
:after => (Time.now - 3600).strftime("%H%M"),
|
29
|
-
:until => (Time.now + 3600).strftime("%H%M")
|
30
|
-
}
|
31
|
-
end
|
32
|
-
|
33
|
-
it_should_behave_like "a RESTFUL resource model"
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Criterion::WeekDay do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Criterion::WeekDay
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "criterion"
|
26
|
-
@plural_name = "criteria/week_day"
|
27
|
-
@good_attributes = {
|
28
|
-
:day=>5
|
29
|
-
}
|
30
|
-
@random_attributes = {
|
31
|
-
:day=> (0..6).to_a.sort_by{ rand }.first
|
32
|
-
}
|
33
|
-
end
|
34
|
-
|
35
|
-
it_should_behave_like "a RESTFUL resource model"
|
36
|
-
end
|
37
|
-
|
38
|
-
|
39
|
-
end
|
data/spec/image_spec.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Asset::Image do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Asset::Image
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "asset"
|
26
|
-
@plural_name = "assets/image"
|
27
|
-
@good_attributes = {
|
28
|
-
:user_id => rand(100) + 1,
|
29
|
-
:licensed_at => Time.now,
|
30
|
-
:licensed_by => "foo, bar",
|
31
|
-
:licensed_under => "CC BY:NC:SA",
|
32
|
-
:published_at => Time.now,
|
33
|
-
:duration => 180000,
|
34
|
-
:width => 640,
|
35
|
-
:height => 480,
|
36
|
-
:file => File.open(File.join(File.dirname(__FILE__), "files", "image.jpg"))
|
37
|
-
}
|
38
|
-
end
|
39
|
-
|
40
|
-
it_should_behave_like "a RESTFUL resource model"
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
end
|
data/spec/text_spec.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Asset::Text do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Asset::Text
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "asset"
|
26
|
-
@plural_name = "assets/text"
|
27
|
-
@good_attributes = {
|
28
|
-
:user_id => rand(100) + 1,
|
29
|
-
:licensed_at => Time.now,
|
30
|
-
:licensed_by => "foo, bar",
|
31
|
-
:licensed_under => "CC BY:NC:SA",
|
32
|
-
:published_at => Time.now,
|
33
|
-
:duration => 180000,
|
34
|
-
:file => File.open(File.join(File.dirname(__FILE__), "files", "text.txt"))
|
35
|
-
}
|
36
|
-
end
|
37
|
-
|
38
|
-
it_should_behave_like "a RESTFUL resource model"
|
39
|
-
end
|
40
|
-
|
41
|
-
|
42
|
-
end
|
data/spec/video_spec.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Asset::Video do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Asset::Video
|
7
|
-
configure_test_settings
|
8
|
-
Videojuicer.enter_scope :seed_name => fixtures.seed.name,
|
9
|
-
:consumer_key=>fixtures["write-master"].consumer.consumer_key,
|
10
|
-
:consumer_secret=>fixtures["write-master"].consumer.consumer_secret,
|
11
|
-
:token=>fixtures["write-master"].authorized_token.oauth_token,
|
12
|
-
:token_secret=>fixtures["write-master"].authorized_token.oauth_token_secret
|
13
|
-
end
|
14
|
-
|
15
|
-
after(:all) do
|
16
|
-
Videojuicer.exit_scope
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "instantiation" do
|
20
|
-
it_should_behave_like "a configurable"
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "general interface:" do
|
24
|
-
before(:all) do
|
25
|
-
@singular_name = "asset"
|
26
|
-
@plural_name = "assets/video"
|
27
|
-
@good_attributes = {
|
28
|
-
:user_id => rand(100) + 1,
|
29
|
-
:licensed_at => Time.now,
|
30
|
-
:licensed_by => "foo, bar",
|
31
|
-
:licensed_under => "CC BY:NC:SA",
|
32
|
-
:published_at => Time.now,
|
33
|
-
:duration => 14990,
|
34
|
-
:audio_bit_rate => 354200,
|
35
|
-
:audio_format => "QDesign Music 2",
|
36
|
-
:audio_sample_rate => 22050,
|
37
|
-
:audio_stereo => "mono",
|
38
|
-
:video_bit_rate => 1000000,
|
39
|
-
:video_format => "Sorenson Video 3 Decompressor",
|
40
|
-
:width => 240,
|
41
|
-
:height => 180,
|
42
|
-
:file => File.open(File.join(File.dirname(__FILE__), "files", "video.mov"))
|
43
|
-
}
|
44
|
-
end
|
45
|
-
|
46
|
-
it_should_behave_like "a RESTFUL resource model"
|
47
|
-
end
|
48
|
-
|
49
|
-
|
50
|
-
end
|