vj-sdk 0.5.4 → 0.5.5
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/VERSION.yml +1 -1
- data/lib/bundler_runtime_patch.rb +5 -1
- data/lib/videojuicer.rb +2 -3
- data/lib/videojuicer/campaign.rb +11 -10
- data/lib/videojuicer/criterion/date_range.rb +14 -3
- data/lib/videojuicer/criterion/geolocation.rb +14 -3
- data/lib/videojuicer/criterion/request.rb +14 -3
- data/lib/videojuicer/criterion/time.rb +14 -3
- data/lib/videojuicer/criterion/week_day.rb +15 -3
- data/lib/videojuicer/insert.rb +22 -0
- data/lib/videojuicer/resource/relationships/has.rb +53 -0
- data/spec/criterion/date_range_spec.rb +1 -1
- data/spec/criterion/geolocation_spec.rb +1 -1
- data/spec/criterion/request_spec.rb +1 -1
- data/spec/criterion/time_spec.rb +1 -1
- data/spec/criterion/week_day_spec.rb +1 -1
- data/spec/has_spec.rb +7 -0
- data/spec/helpers/spec_fixtures.rb +16 -43
- data/spec/insert_spec.rb +24 -0
- data/vj-sdk.gemspec +10 -17
- metadata +21 -17
- data/lib/videojuicer/campaign_policy.rb +0 -116
- data/lib/videojuicer/criterion/base.rb +0 -56
- data/lib/videojuicer/promo/base.rb +0 -72
- data/spec/campaign_policy_spec.rb +0 -41
- data/spec/promos/audio_spec.rb +0 -23
- data/spec/promos/image_spec.rb +0 -24
- data/spec/promos/text_spec.rb +0 -23
- data/spec/promos/video_spec.rb +0 -23
data/VERSION.yml
CHANGED
@@ -16,7 +16,11 @@ module Bundler
|
|
16
16
|
|
17
17
|
# NEW METHOD
|
18
18
|
ordered_deps = []
|
19
|
-
|
19
|
+
begin # this is done because of an api change between 0.9.10 and 0.9.15
|
20
|
+
spec_names = specs_for(*groups).map { |s| s.name }
|
21
|
+
rescue
|
22
|
+
spec_names = specs_for(groups).map { |s| s.name }
|
23
|
+
end
|
20
24
|
@definition.dependencies.each do |dep|
|
21
25
|
ordered_deps << dep if spec_names.include?(dep.name) && !ordered_deps.include?(dep)
|
22
26
|
end
|
data/lib/videojuicer.rb
CHANGED
@@ -22,6 +22,7 @@ require 'videojuicer/oauth/proxy_factory'
|
|
22
22
|
require 'videojuicer/resource/embeddable'
|
23
23
|
require 'videojuicer/resource/types'
|
24
24
|
require 'videojuicer/resource/relationships/belongs_to'
|
25
|
+
require 'videojuicer/resource/relationships/has'
|
25
26
|
require 'videojuicer/resource/errors'
|
26
27
|
require 'videojuicer/resource/collection'
|
27
28
|
require 'videojuicer/resource/inferrable'
|
@@ -32,7 +33,7 @@ require 'videojuicer/session'
|
|
32
33
|
require 'videojuicer/seed'
|
33
34
|
require 'videojuicer/user'
|
34
35
|
require 'videojuicer/campaign'
|
35
|
-
require 'videojuicer/
|
36
|
+
require 'videojuicer/insert'
|
36
37
|
require 'videojuicer/presentation'
|
37
38
|
require 'videojuicer/asset/audio'
|
38
39
|
require 'videojuicer/asset/document'
|
@@ -40,13 +41,11 @@ require 'videojuicer/asset/flash'
|
|
40
41
|
require 'videojuicer/asset/image'
|
41
42
|
require 'videojuicer/asset/text'
|
42
43
|
require 'videojuicer/asset/video'
|
43
|
-
require 'videojuicer/promo/base'
|
44
44
|
require 'videojuicer/criterion/date_range'
|
45
45
|
require 'videojuicer/criterion/geolocation'
|
46
46
|
require 'videojuicer/criterion/request'
|
47
47
|
require 'videojuicer/criterion/time'
|
48
48
|
require 'videojuicer/criterion/week_day'
|
49
|
-
require 'videojuicer/promo/base'
|
50
49
|
require 'videojuicer/preset'
|
51
50
|
|
52
51
|
module Videojuicer
|
data/lib/videojuicer/campaign.rb
CHANGED
@@ -3,17 +3,18 @@ module Videojuicer
|
|
3
3
|
include Videojuicer::Resource
|
4
4
|
include Videojuicer::Exceptions
|
5
5
|
|
6
|
-
property :name,
|
7
|
-
property :user_id,
|
8
|
-
property :
|
9
|
-
property :
|
6
|
+
property :name, String
|
7
|
+
property :user_id, Integer
|
8
|
+
property :target_type, String
|
9
|
+
property :target_id, Integer
|
10
|
+
property :disclosure, String
|
11
|
+
property :created_at, DateTime
|
12
|
+
property :updated_at, DateTime
|
13
|
+
|
10
14
|
belongs_to :user, :class=>Videojuicer::User
|
11
15
|
|
12
|
-
attr_accessor :
|
13
|
-
|
14
|
-
|
15
|
-
@campaign_policies=(arg)
|
16
|
-
end
|
17
|
-
|
16
|
+
attr_accessor :criteria
|
17
|
+
attr_accessor :targets
|
18
|
+
attr_accessor :inserts
|
18
19
|
end
|
19
20
|
end
|
@@ -1,12 +1,23 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "base")
|
2
|
-
|
3
1
|
module Videojuicer
|
4
2
|
module Criterion
|
5
|
-
class DateRange
|
3
|
+
class DateRange
|
6
4
|
|
5
|
+
include Videojuicer::Resource
|
6
|
+
|
7
|
+
belongs_to :campaign, :class=>Videojuicer::Campaign
|
8
|
+
|
9
|
+
property :campaign_id, Integer
|
7
10
|
property :until, DateTime
|
8
11
|
property :from, DateTime
|
9
12
|
|
13
|
+
def self.singular_name
|
14
|
+
"criterion"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.base_path(options={})
|
18
|
+
"/criteria/#{self.to_s.split("::").last.snake_case}"
|
19
|
+
end
|
20
|
+
|
10
21
|
def matcher_keys
|
11
22
|
[:until, :from]
|
12
23
|
end
|
@@ -1,14 +1,25 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "base")
|
2
|
-
|
3
1
|
module Videojuicer
|
4
2
|
module Criterion
|
5
|
-
class Geolocation
|
3
|
+
class Geolocation
|
4
|
+
|
5
|
+
include Videojuicer::Resource
|
6
6
|
|
7
|
+
belongs_to :campaign, :class=>Videojuicer::Campaign
|
8
|
+
|
9
|
+
property :campaign_id, Integer
|
7
10
|
property :country, String
|
8
11
|
property :region, String
|
9
12
|
property :city, String
|
10
13
|
property :exclude, Boolean
|
11
14
|
|
15
|
+
def self.singular_name
|
16
|
+
"criterion"
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.base_path(options={})
|
20
|
+
"/criteria/#{self.to_s.split("::").last.snake_case}"
|
21
|
+
end
|
22
|
+
|
12
23
|
def matcher_keys
|
13
24
|
[:country, :region, :city, :exclude]
|
14
25
|
end
|
@@ -1,12 +1,23 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "base")
|
2
|
-
|
3
1
|
module Videojuicer
|
4
2
|
module Criterion
|
5
|
-
class Request
|
3
|
+
class Request
|
6
4
|
|
5
|
+
include Videojuicer::Resource
|
6
|
+
|
7
|
+
belongs_to :campaign, :class=>Videojuicer::Campaign
|
8
|
+
|
9
|
+
property :campaign_id, Integer
|
7
10
|
property :referrer, String, :nullable => false
|
8
11
|
property :exclude, Boolean
|
9
12
|
|
13
|
+
def self.singular_name
|
14
|
+
"criterion"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.base_path(options={})
|
18
|
+
"/criteria/#{self.to_s.split("::").last.snake_case}"
|
19
|
+
end
|
20
|
+
|
10
21
|
def matcher_keys
|
11
22
|
[:referrer, :exclude]
|
12
23
|
end
|
@@ -1,12 +1,23 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "base")
|
2
|
-
|
3
1
|
module Videojuicer
|
4
2
|
module Criterion
|
5
|
-
class Time
|
3
|
+
class Time
|
6
4
|
|
5
|
+
include Videojuicer::Resource
|
6
|
+
|
7
|
+
belongs_to :campaign, :class=>Videojuicer::Campaign
|
8
|
+
|
9
|
+
property :campaign_id, Integer
|
7
10
|
property :until, DateTime
|
8
11
|
property :from, DateTime
|
9
12
|
|
13
|
+
def self.singular_name
|
14
|
+
"criterion"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.base_path(options={})
|
18
|
+
"/criteria/#{self.to_s.split("::").last.snake_case}"
|
19
|
+
end
|
20
|
+
|
10
21
|
def matcher_keys
|
11
22
|
[:until, :from]
|
12
23
|
end
|
@@ -1,8 +1,12 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "base")
|
2
|
-
|
3
1
|
module Videojuicer
|
4
2
|
module Criterion
|
5
|
-
class WeekDay
|
3
|
+
class WeekDay
|
4
|
+
|
5
|
+
include Videojuicer::Resource
|
6
|
+
|
7
|
+
belongs_to :campaign, :class=>Videojuicer::Campaign
|
8
|
+
|
9
|
+
property :campaign_id, Integer
|
6
10
|
property :monday, Boolean
|
7
11
|
property :tuesday, Boolean
|
8
12
|
property :wednesday, Boolean
|
@@ -12,6 +16,14 @@ module Videojuicer
|
|
12
16
|
property :sunday, Boolean
|
13
17
|
property :exclude, Boolean
|
14
18
|
|
19
|
+
def self.singular_name
|
20
|
+
"criterion"
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.base_path(options={})
|
24
|
+
"/criteria/#{self.to_s.split("::").last.snake_case}"
|
25
|
+
end
|
26
|
+
|
15
27
|
def matcher_keys
|
16
28
|
[:monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday, :exclude]
|
17
29
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Videojuicer
|
2
|
+
class Insert
|
3
|
+
include Videojuicer::Resource
|
4
|
+
include Videojuicer::Exceptions
|
5
|
+
|
6
|
+
property :campaign_id, Integer
|
7
|
+
property :role, String
|
8
|
+
property :offset_time, Integer
|
9
|
+
property :offset_x, Integer
|
10
|
+
property :offset_y, Integer
|
11
|
+
property :anchor_x, String
|
12
|
+
property :anchor_y, String
|
13
|
+
property :click_href, String
|
14
|
+
property :click_target, String
|
15
|
+
property :asset_type, String
|
16
|
+
property :asset_id, Integer
|
17
|
+
property :created_at, DateTime
|
18
|
+
property :updated_at, DateTime
|
19
|
+
|
20
|
+
belongs_to :campaign, :class=>Videojuicer::Campaign
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Videojuicer
|
2
|
+
module Resource
|
3
|
+
module Relationships
|
4
|
+
module Has
|
5
|
+
|
6
|
+
def self.included(base)
|
7
|
+
base.extend(ClassMethods)
|
8
|
+
base.include(InstanceMethods)
|
9
|
+
end
|
10
|
+
|
11
|
+
module ClassMethods
|
12
|
+
|
13
|
+
# Returns a :many quantifier for the ##has method.
|
14
|
+
def n
|
15
|
+
:many
|
16
|
+
end
|
17
|
+
|
18
|
+
def has(quantifier, name, options={})
|
19
|
+
options = {
|
20
|
+
:class=>name.to_s.capitalize,
|
21
|
+
:foreign_key=>"#{name}_id"
|
22
|
+
}.merge(options)
|
23
|
+
|
24
|
+
define_method name do
|
25
|
+
id = self.send(options[:foreign_key])
|
26
|
+
klass = (options[:class].is_a?(String))? Videojuicer.const_get(options[:class]) : options[:class]
|
27
|
+
return nil unless id
|
28
|
+
begin
|
29
|
+
return klass.get(id)
|
30
|
+
rescue Videojuicer::Exceptions::NoResource
|
31
|
+
return nil
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
define_method "#{name}=" do |arg|
|
36
|
+
self.send("#{options[:foreign_key]}=", arg.id)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
module InstanceMethods
|
43
|
+
|
44
|
+
private
|
45
|
+
def write_has_one_object(object)
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/criterion/time_spec.rb
CHANGED
data/spec/has_spec.rb
ADDED
@@ -61,24 +61,27 @@ module Videojuicer
|
|
61
61
|
}}
|
62
62
|
end
|
63
63
|
|
64
|
-
class
|
64
|
+
class Insert
|
65
65
|
include FixtureHelper
|
66
66
|
set_attribute_proc {{
|
67
|
-
:
|
67
|
+
:campaign_id => (Campaign.first.id rescue Campaign.gen.id),
|
68
|
+
:asset_type => "com.videojuicer.core.asset.Audio",
|
69
|
+
:asset_id => (Asset::Audio.first.id rescue Asset::Audio.gen.id)
|
68
70
|
}}
|
69
71
|
end
|
70
72
|
|
71
|
-
class Campaign
|
73
|
+
class Campaign
|
72
74
|
include FixtureHelper
|
73
75
|
set_attribute_proc {{
|
74
|
-
|
75
|
-
|
76
|
+
:name => /\w+/.gen,
|
77
|
+
:target_type => "com.videojuicer.core.Presentation"
|
76
78
|
}}
|
77
79
|
end
|
78
80
|
|
79
81
|
class Criterion::DateRange
|
80
82
|
include FixtureHelper
|
81
83
|
set_attribute_proc {{
|
84
|
+
:campaign_id => 1,
|
82
85
|
:until => DateTime.send(:today) + 1,
|
83
86
|
:from => DateTime.send(:today) - 1
|
84
87
|
}}
|
@@ -87,6 +90,7 @@ module Videojuicer
|
|
87
90
|
class Criterion::Geolocation
|
88
91
|
include FixtureHelper
|
89
92
|
set_attribute_proc {{
|
93
|
+
:campaign_id => 1,
|
90
94
|
:city => "Columbus",
|
91
95
|
:region => "OH",
|
92
96
|
:country => "United States"
|
@@ -96,13 +100,16 @@ module Videojuicer
|
|
96
100
|
class Criterion::Request
|
97
101
|
include FixtureHelper
|
98
102
|
set_attribute_proc {{
|
99
|
-
:
|
103
|
+
:campaign_id => 1,
|
104
|
+
:referrer => "http://www.google.com",
|
105
|
+
:exclude => false
|
100
106
|
}}
|
101
107
|
end
|
102
108
|
|
103
109
|
class Criterion::Time
|
104
110
|
include FixtureHelper
|
105
111
|
set_attribute_proc {{
|
112
|
+
:campaign_id => 1,
|
106
113
|
:from => (Time.now - 3600).strftime("%H:%M"),
|
107
114
|
:until => (Time.now + 3600).strftime("%H:%M")
|
108
115
|
}}
|
@@ -111,43 +118,9 @@ module Videojuicer
|
|
111
118
|
class Criterion::WeekDay
|
112
119
|
include FixtureHelper
|
113
120
|
set_attribute_proc {{
|
114
|
-
:
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
class Promo::Image
|
119
|
-
include FixtureHelper
|
120
|
-
set_attribute_proc {{
|
121
|
-
:role => "Thumbnail",
|
122
|
-
:href => "http://www.videojuicer.com",
|
123
|
-
:asset_id => 1
|
124
|
-
}}
|
125
|
-
end
|
126
|
-
|
127
|
-
class Promo::Audio
|
128
|
-
include FixtureHelper
|
129
|
-
set_attribute_proc {{
|
130
|
-
:role => "Voice Over",
|
131
|
-
:href => "http://www.videojuicer.com",
|
132
|
-
:asset_id => 1
|
133
|
-
}}
|
134
|
-
end
|
135
|
-
|
136
|
-
class Promo::Video
|
137
|
-
include FixtureHelper
|
138
|
-
set_attribute_proc {{
|
139
|
-
:role => "preroll",
|
140
|
-
:href => "http://www.videojuicer.com",
|
141
|
-
:asset_id => 1
|
142
|
-
}}
|
143
|
-
end
|
144
|
-
|
145
|
-
class Promo::Text
|
146
|
-
include FixtureHelper
|
147
|
-
set_attribute_proc {{
|
148
|
-
:role => "Description",
|
149
|
-
:href => "http://www.videojuicer.com",
|
150
|
-
:asset_id => 1
|
121
|
+
:campaign_id => 1,
|
122
|
+
:monday => true,
|
123
|
+
:exclude => false
|
151
124
|
}}
|
152
125
|
end
|
153
126
|
|
data/spec/insert_spec.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "helpers", "spec_helper")
|
2
|
+
|
3
|
+
describe Videojuicer::Insert do
|
4
|
+
|
5
|
+
before(:all) do
|
6
|
+
@klass = Videojuicer::Insert
|
7
|
+
configure_test_settings
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "instantiation" do
|
11
|
+
it_should_behave_like "a configurable"
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "general interface:" do
|
15
|
+
before(:all) do
|
16
|
+
@singular_name = "insert"
|
17
|
+
@plural_name = "inserts"
|
18
|
+
end
|
19
|
+
|
20
|
+
it_should_behave_like "a RESTFUL resource model"
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
end
|
data/vj-sdk.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{vj-sdk}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["danski", "thejohnny", "knowtheory", "sixones", "btab"]
|
12
|
-
s.date = %q{2010-05-
|
12
|
+
s.date = %q{2010-05-19}
|
13
13
|
s.email = %q{dan@videojuicer.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -36,19 +36,17 @@ Gem::Specification.new do |s|
|
|
36
36
|
"lib/videojuicer/asset/text.rb",
|
37
37
|
"lib/videojuicer/asset/video.rb",
|
38
38
|
"lib/videojuicer/campaign.rb",
|
39
|
-
"lib/videojuicer/campaign_policy.rb",
|
40
|
-
"lib/videojuicer/criterion/base.rb",
|
41
39
|
"lib/videojuicer/criterion/date_range.rb",
|
42
40
|
"lib/videojuicer/criterion/geolocation.rb",
|
43
41
|
"lib/videojuicer/criterion/request.rb",
|
44
42
|
"lib/videojuicer/criterion/time.rb",
|
45
43
|
"lib/videojuicer/criterion/week_day.rb",
|
44
|
+
"lib/videojuicer/insert.rb",
|
46
45
|
"lib/videojuicer/oauth/multipart_helper.rb",
|
47
46
|
"lib/videojuicer/oauth/proxy_factory.rb",
|
48
47
|
"lib/videojuicer/oauth/request_proxy.rb",
|
49
48
|
"lib/videojuicer/presentation.rb",
|
50
49
|
"lib/videojuicer/preset.rb",
|
51
|
-
"lib/videojuicer/promo/base.rb",
|
52
50
|
"lib/videojuicer/resource/base.rb",
|
53
51
|
"lib/videojuicer/resource/collection.rb",
|
54
52
|
"lib/videojuicer/resource/embeddable.rb",
|
@@ -56,6 +54,7 @@ Gem::Specification.new do |s|
|
|
56
54
|
"lib/videojuicer/resource/inferrable.rb",
|
57
55
|
"lib/videojuicer/resource/property_registry.rb",
|
58
56
|
"lib/videojuicer/resource/relationships/belongs_to.rb",
|
57
|
+
"lib/videojuicer/resource/relationships/has.rb",
|
59
58
|
"lib/videojuicer/resource/types.rb",
|
60
59
|
"lib/videojuicer/seed.rb",
|
61
60
|
"lib/videojuicer/session.rb",
|
@@ -69,7 +68,6 @@ Gem::Specification.new do |s|
|
|
69
68
|
"spec/assets/text_spec.rb",
|
70
69
|
"spec/assets/video_spec.rb",
|
71
70
|
"spec/belongs_to_spec.rb",
|
72
|
-
"spec/campaign_policy_spec.rb",
|
73
71
|
"spec/campaign_spec.rb",
|
74
72
|
"spec/collection_spec.rb",
|
75
73
|
"spec/criterion/date_range_spec.rb",
|
@@ -84,15 +82,13 @@ Gem::Specification.new do |s|
|
|
84
82
|
"spec/files/image.jpg",
|
85
83
|
"spec/files/text.txt",
|
86
84
|
"spec/files/video.mov",
|
85
|
+
"spec/has_spec.rb",
|
87
86
|
"spec/helpers/be_equal_to.rb",
|
88
87
|
"spec/helpers/spec_fixtures.rb",
|
89
88
|
"spec/helpers/spec_helper.rb",
|
89
|
+
"spec/insert_spec.rb",
|
90
90
|
"spec/presentation_spec.rb",
|
91
91
|
"spec/preset_spec.rb",
|
92
|
-
"spec/promos/audio_spec.rb",
|
93
|
-
"spec/promos/image_spec.rb",
|
94
|
-
"spec/promos/text_spec.rb",
|
95
|
-
"spec/promos/video_spec.rb",
|
96
92
|
"spec/property_registry_spec.rb",
|
97
93
|
"spec/request_proxy_spec.rb",
|
98
94
|
"spec/seed_spec.rb",
|
@@ -111,7 +107,7 @@ Gem::Specification.new do |s|
|
|
111
107
|
s.homepage = %q{http://github.com/videojuicer/vj-sdk}
|
112
108
|
s.rdoc_options = ["--charset=UTF-8"]
|
113
109
|
s.require_paths = ["lib"]
|
114
|
-
s.rubygems_version = %q{1.3.
|
110
|
+
s.rubygems_version = %q{1.3.7}
|
115
111
|
s.summary = %q{Videojuicer core-sdk}
|
116
112
|
s.test_files = [
|
117
113
|
"spec/assets/audio_spec.rb",
|
@@ -121,7 +117,6 @@ Gem::Specification.new do |s|
|
|
121
117
|
"spec/assets/text_spec.rb",
|
122
118
|
"spec/assets/video_spec.rb",
|
123
119
|
"spec/belongs_to_spec.rb",
|
124
|
-
"spec/campaign_policy_spec.rb",
|
125
120
|
"spec/campaign_spec.rb",
|
126
121
|
"spec/collection_spec.rb",
|
127
122
|
"spec/criterion/date_range_spec.rb",
|
@@ -129,15 +124,13 @@ Gem::Specification.new do |s|
|
|
129
124
|
"spec/criterion/request_spec.rb",
|
130
125
|
"spec/criterion/time_spec.rb",
|
131
126
|
"spec/criterion/week_day_spec.rb",
|
127
|
+
"spec/has_spec.rb",
|
132
128
|
"spec/helpers/be_equal_to.rb",
|
133
129
|
"spec/helpers/spec_fixtures.rb",
|
134
130
|
"spec/helpers/spec_helper.rb",
|
131
|
+
"spec/insert_spec.rb",
|
135
132
|
"spec/presentation_spec.rb",
|
136
133
|
"spec/preset_spec.rb",
|
137
|
-
"spec/promos/audio_spec.rb",
|
138
|
-
"spec/promos/image_spec.rb",
|
139
|
-
"spec/promos/text_spec.rb",
|
140
|
-
"spec/promos/video_spec.rb",
|
141
134
|
"spec/property_registry_spec.rb",
|
142
135
|
"spec/request_proxy_spec.rb",
|
143
136
|
"spec/seed_spec.rb",
|
@@ -156,7 +149,7 @@ Gem::Specification.new do |s|
|
|
156
149
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
157
150
|
s.specification_version = 3
|
158
151
|
|
159
|
-
if Gem::Version.new(Gem::
|
152
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
160
153
|
s.add_runtime_dependency(%q<json>, [">= 1.0"])
|
161
154
|
s.add_runtime_dependency(%q<ruby-hmac>, [">= 0.3.2"])
|
162
155
|
s.add_runtime_dependency(%q<mash>, [">= 0.0.3"])
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vj-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 1
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 5
|
8
|
-
-
|
9
|
-
version: 0.5.
|
9
|
+
- 5
|
10
|
+
version: 0.5.5
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- danski
|
@@ -18,16 +19,18 @@ autorequire:
|
|
18
19
|
bindir: bin
|
19
20
|
cert_chain: []
|
20
21
|
|
21
|
-
date: 2010-05-
|
22
|
+
date: 2010-05-19 00:00:00 +01:00
|
22
23
|
default_executable:
|
23
24
|
dependencies:
|
24
25
|
- !ruby/object:Gem::Dependency
|
25
26
|
name: json
|
26
27
|
prerelease: false
|
27
28
|
requirement: &id001 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
28
30
|
requirements:
|
29
31
|
- - ">="
|
30
32
|
- !ruby/object:Gem::Version
|
33
|
+
hash: 15
|
31
34
|
segments:
|
32
35
|
- 1
|
33
36
|
- 0
|
@@ -38,9 +41,11 @@ dependencies:
|
|
38
41
|
name: ruby-hmac
|
39
42
|
prerelease: false
|
40
43
|
requirement: &id002 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
41
45
|
requirements:
|
42
46
|
- - ">="
|
43
47
|
- !ruby/object:Gem::Version
|
48
|
+
hash: 23
|
44
49
|
segments:
|
45
50
|
- 0
|
46
51
|
- 3
|
@@ -52,9 +57,11 @@ dependencies:
|
|
52
57
|
name: mash
|
53
58
|
prerelease: false
|
54
59
|
requirement: &id003 !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
55
61
|
requirements:
|
56
62
|
- - ">="
|
57
63
|
- !ruby/object:Gem::Version
|
64
|
+
hash: 25
|
58
65
|
segments:
|
59
66
|
- 0
|
60
67
|
- 0
|
@@ -92,19 +99,17 @@ files:
|
|
92
99
|
- lib/videojuicer/asset/text.rb
|
93
100
|
- lib/videojuicer/asset/video.rb
|
94
101
|
- lib/videojuicer/campaign.rb
|
95
|
-
- lib/videojuicer/campaign_policy.rb
|
96
|
-
- lib/videojuicer/criterion/base.rb
|
97
102
|
- lib/videojuicer/criterion/date_range.rb
|
98
103
|
- lib/videojuicer/criterion/geolocation.rb
|
99
104
|
- lib/videojuicer/criterion/request.rb
|
100
105
|
- lib/videojuicer/criterion/time.rb
|
101
106
|
- lib/videojuicer/criterion/week_day.rb
|
107
|
+
- lib/videojuicer/insert.rb
|
102
108
|
- lib/videojuicer/oauth/multipart_helper.rb
|
103
109
|
- lib/videojuicer/oauth/proxy_factory.rb
|
104
110
|
- lib/videojuicer/oauth/request_proxy.rb
|
105
111
|
- lib/videojuicer/presentation.rb
|
106
112
|
- lib/videojuicer/preset.rb
|
107
|
-
- lib/videojuicer/promo/base.rb
|
108
113
|
- lib/videojuicer/resource/base.rb
|
109
114
|
- lib/videojuicer/resource/collection.rb
|
110
115
|
- lib/videojuicer/resource/embeddable.rb
|
@@ -112,6 +117,7 @@ files:
|
|
112
117
|
- lib/videojuicer/resource/inferrable.rb
|
113
118
|
- lib/videojuicer/resource/property_registry.rb
|
114
119
|
- lib/videojuicer/resource/relationships/belongs_to.rb
|
120
|
+
- lib/videojuicer/resource/relationships/has.rb
|
115
121
|
- lib/videojuicer/resource/types.rb
|
116
122
|
- lib/videojuicer/seed.rb
|
117
123
|
- lib/videojuicer/session.rb
|
@@ -125,7 +131,6 @@ files:
|
|
125
131
|
- spec/assets/text_spec.rb
|
126
132
|
- spec/assets/video_spec.rb
|
127
133
|
- spec/belongs_to_spec.rb
|
128
|
-
- spec/campaign_policy_spec.rb
|
129
134
|
- spec/campaign_spec.rb
|
130
135
|
- spec/collection_spec.rb
|
131
136
|
- spec/criterion/date_range_spec.rb
|
@@ -140,15 +145,13 @@ files:
|
|
140
145
|
- spec/files/image.jpg
|
141
146
|
- spec/files/text.txt
|
142
147
|
- spec/files/video.mov
|
148
|
+
- spec/has_spec.rb
|
143
149
|
- spec/helpers/be_equal_to.rb
|
144
150
|
- spec/helpers/spec_fixtures.rb
|
145
151
|
- spec/helpers/spec_helper.rb
|
152
|
+
- spec/insert_spec.rb
|
146
153
|
- spec/presentation_spec.rb
|
147
154
|
- spec/preset_spec.rb
|
148
|
-
- spec/promos/audio_spec.rb
|
149
|
-
- spec/promos/image_spec.rb
|
150
|
-
- spec/promos/text_spec.rb
|
151
|
-
- spec/promos/video_spec.rb
|
152
155
|
- spec/property_registry_spec.rb
|
153
156
|
- spec/request_proxy_spec.rb
|
154
157
|
- spec/seed_spec.rb
|
@@ -173,23 +176,27 @@ rdoc_options:
|
|
173
176
|
require_paths:
|
174
177
|
- lib
|
175
178
|
required_ruby_version: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
176
180
|
requirements:
|
177
181
|
- - ">="
|
178
182
|
- !ruby/object:Gem::Version
|
183
|
+
hash: 3
|
179
184
|
segments:
|
180
185
|
- 0
|
181
186
|
version: "0"
|
182
187
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
|
+
none: false
|
183
189
|
requirements:
|
184
190
|
- - ">="
|
185
191
|
- !ruby/object:Gem::Version
|
192
|
+
hash: 3
|
186
193
|
segments:
|
187
194
|
- 0
|
188
195
|
version: "0"
|
189
196
|
requirements: []
|
190
197
|
|
191
198
|
rubyforge_project:
|
192
|
-
rubygems_version: 1.3.
|
199
|
+
rubygems_version: 1.3.7
|
193
200
|
signing_key:
|
194
201
|
specification_version: 3
|
195
202
|
summary: Videojuicer core-sdk
|
@@ -201,7 +208,6 @@ test_files:
|
|
201
208
|
- spec/assets/text_spec.rb
|
202
209
|
- spec/assets/video_spec.rb
|
203
210
|
- spec/belongs_to_spec.rb
|
204
|
-
- spec/campaign_policy_spec.rb
|
205
211
|
- spec/campaign_spec.rb
|
206
212
|
- spec/collection_spec.rb
|
207
213
|
- spec/criterion/date_range_spec.rb
|
@@ -209,15 +215,13 @@ test_files:
|
|
209
215
|
- spec/criterion/request_spec.rb
|
210
216
|
- spec/criterion/time_spec.rb
|
211
217
|
- spec/criterion/week_day_spec.rb
|
218
|
+
- spec/has_spec.rb
|
212
219
|
- spec/helpers/be_equal_to.rb
|
213
220
|
- spec/helpers/spec_fixtures.rb
|
214
221
|
- spec/helpers/spec_helper.rb
|
222
|
+
- spec/insert_spec.rb
|
215
223
|
- spec/presentation_spec.rb
|
216
224
|
- spec/preset_spec.rb
|
217
|
-
- spec/promos/audio_spec.rb
|
218
|
-
- spec/promos/image_spec.rb
|
219
|
-
- spec/promos/text_spec.rb
|
220
|
-
- spec/promos/video_spec.rb
|
221
225
|
- spec/property_registry_spec.rb
|
222
226
|
- spec/request_proxy_spec.rb
|
223
227
|
- spec/seed_spec.rb
|
@@ -1,116 +0,0 @@
|
|
1
|
-
module Videojuicer
|
2
|
-
class Campaign
|
3
|
-
class CampaignPolicy
|
4
|
-
include Videojuicer::Resource
|
5
|
-
|
6
|
-
# Resource should note that this is a class within a class
|
7
|
-
# Should treat parent class as parent resource
|
8
|
-
|
9
|
-
property :presentation_id, Integer
|
10
|
-
property :campaign_id, Integer
|
11
|
-
property :created_at, DateTime
|
12
|
-
property :updated_at, DateTime
|
13
|
-
|
14
|
-
belongs_to :campaign
|
15
|
-
|
16
|
-
attr_accessor :criteria
|
17
|
-
def criteria=(object_hash)
|
18
|
-
# TODO instantiate criteria in a useful object of some sort
|
19
|
-
|
20
|
-
# Fail unless arg is an array
|
21
|
-
# Loop over array do |mem|
|
22
|
-
# if mem is a hash
|
23
|
-
# instantiate as a criterion
|
24
|
-
|
25
|
-
|
26
|
-
# if criterion object already on this policy
|
27
|
-
# leave be
|
28
|
-
# else
|
29
|
-
# add_criteria(mem)
|
30
|
-
# end
|
31
|
-
# end
|
32
|
-
|
33
|
-
# what you want to be able to do is:
|
34
|
-
# policy.criteria.include?(some_criterion)
|
35
|
-
@criteria = {}
|
36
|
-
object_hash.map do |type_sym, criteria|
|
37
|
-
@criteria[type_sym.to_sym] =
|
38
|
-
criteria.map do |criterion|
|
39
|
-
Videojuicer::Criterion.model_map[type_sym.to_sym].new(criterion) #rescue raise("No criteria class found for #{type_sym} in #{Videojuicer::Criterion.model_map.inspect}")
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def criteria
|
45
|
-
@criteria.values.flatten
|
46
|
-
end
|
47
|
-
|
48
|
-
%w(date_criteria geolocation_criteria request_criteria time_criteria week_day_criteria).each do |key|
|
49
|
-
class_eval <<-DEF
|
50
|
-
def #{key}
|
51
|
-
@criteria[:#{key}]
|
52
|
-
end
|
53
|
-
DEF
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
def add_criteria(*criteria)
|
58
|
-
responses = criteria.map do |criterion|
|
59
|
-
proxy_for(config).post("#{path_for_dependents}#{criterion.class.base_path}", {:criterion => criterion.attributes})
|
60
|
-
end
|
61
|
-
self.reload
|
62
|
-
responses
|
63
|
-
end
|
64
|
-
|
65
|
-
def remove_criteria(*criteria)
|
66
|
-
responses = criteria.map do |criterion|
|
67
|
-
proxy_for(config).delete("#{path_for_dependents}#{criterion.class.base_path}", {:criterion => criterion.attributes})
|
68
|
-
end
|
69
|
-
self.reload
|
70
|
-
responses
|
71
|
-
end
|
72
|
-
|
73
|
-
def promos=(object_hash={})
|
74
|
-
@promos = {}
|
75
|
-
object_hash.map do |type_sym, promos|
|
76
|
-
@promos[type_sym.to_sym] =
|
77
|
-
promos.map do |promo|
|
78
|
-
Videojuicer::Promo.model_map[type_sym.to_sym].new(promo)
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def promos
|
84
|
-
@promos.values.flatten
|
85
|
-
end
|
86
|
-
|
87
|
-
%w(audio images texts videos).each do |key|
|
88
|
-
class_eval <<-DEF
|
89
|
-
def #{key}
|
90
|
-
@promos[:#{key}]
|
91
|
-
end
|
92
|
-
DEF
|
93
|
-
end
|
94
|
-
|
95
|
-
def add_promo(*promos)
|
96
|
-
responses = promos.map do |promo|
|
97
|
-
proxy_for(config).post("#{path_for_dependents}#{promo.class.base_path}", {:promo => promo.attributes})
|
98
|
-
end
|
99
|
-
self.reload
|
100
|
-
responses
|
101
|
-
end
|
102
|
-
|
103
|
-
def remove_promo(*promos)
|
104
|
-
responses = promos.map do |promo|
|
105
|
-
proxy_for(config).delete("#{path_for_dependents}#{promo.class.base_path}", {:promo => promo.attributes})
|
106
|
-
end
|
107
|
-
self.reload
|
108
|
-
responses
|
109
|
-
end
|
110
|
-
|
111
|
-
def path_for_dependents
|
112
|
-
self.class.compile_route(self.class.nesting_route,{:campaign_policy_id => self.id, :campaign_id => self.campaign_id})
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
module Videojuicer
|
2
|
-
module Criterion
|
3
|
-
def self.model_map
|
4
|
-
{ :date_criteria => Videojuicer::Criterion::DateRange,
|
5
|
-
:geolocation_criteria => Videojuicer::Criterion::Geolocation,
|
6
|
-
:request_criteria => Videojuicer::Criterion::Request,
|
7
|
-
:time_criteria => Videojuicer::Criterion::Time,
|
8
|
-
:week_day_criteria => Videojuicer::Criterion::WeekDay
|
9
|
-
}
|
10
|
-
end
|
11
|
-
|
12
|
-
class Base
|
13
|
-
def self.inherited(base)
|
14
|
-
base.send(:include, Videojuicer::Resource)
|
15
|
-
base.send(:extend, Videojuicer::Criterion::Base::ClassMethods)
|
16
|
-
base.send(:include, Videojuicer::Criterion::Base::InstanceMethods)
|
17
|
-
end
|
18
|
-
|
19
|
-
module ClassMethods
|
20
|
-
def singular_name
|
21
|
-
"criterion"
|
22
|
-
end
|
23
|
-
|
24
|
-
def base_path(options={})
|
25
|
-
"/criteria/#{self.to_s.split("::").last.snake_case}"
|
26
|
-
end
|
27
|
-
|
28
|
-
def get(*args); raise NoMethodError; end
|
29
|
-
def all(*args); raise NoMethodError; end
|
30
|
-
def first(*args); raise NoMethodError; end
|
31
|
-
end
|
32
|
-
|
33
|
-
module InstanceMethods
|
34
|
-
def save(*args); raise NoMethodError; end
|
35
|
-
def destroy(*args); raise NoMethodError; end
|
36
|
-
def ==(other); self.attributes == other.attributes; end
|
37
|
-
def eql?(other); self.attributes.eql?(other.attributes) end
|
38
|
-
def matcher_attributes; end
|
39
|
-
|
40
|
-
def matcher_attributes
|
41
|
-
result = {}
|
42
|
-
self.matcher_keys.each do |key|
|
43
|
-
result[key] = self.send(key)
|
44
|
-
end
|
45
|
-
return result
|
46
|
-
end
|
47
|
-
|
48
|
-
def matcher_keys
|
49
|
-
raise NoMethodError, "Matcher Attributes needs to be implemented for #{self.class}";
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
@@ -1,72 +0,0 @@
|
|
1
|
-
module Videojuicer
|
2
|
-
module Promo
|
3
|
-
def self.model_map
|
4
|
-
{ :audio => Videojuicer::Promo::Audio,
|
5
|
-
:images => Videojuicer::Promo::Image,
|
6
|
-
:texts => Videojuicer::Promo::Text,
|
7
|
-
:videos => Videojuicer::Promo::Video
|
8
|
-
}
|
9
|
-
end
|
10
|
-
|
11
|
-
class Base
|
12
|
-
|
13
|
-
def self.inherited(base)
|
14
|
-
base.send(:include, Videojuicer::Resource)
|
15
|
-
base.send(:extend, Videojuicer::Promo::Base::ClassMethods)
|
16
|
-
base.send(:include, Videojuicer::Promo::Base::InstanceMethods)
|
17
|
-
|
18
|
-
base.property :campaign_policy_id, Integer
|
19
|
-
base.property :asset_id, Integer
|
20
|
-
base.property :role, String
|
21
|
-
base.property :href, String
|
22
|
-
end
|
23
|
-
|
24
|
-
module ClassMethods
|
25
|
-
def singular_name
|
26
|
-
"promo"
|
27
|
-
end
|
28
|
-
|
29
|
-
def base_path(options={})
|
30
|
-
"/promos/#{self.to_s.split("::").last.snake_case}"
|
31
|
-
end
|
32
|
-
|
33
|
-
def get(*args); raise NoMethodError; end
|
34
|
-
def all(*args); raise NoMethodError; end
|
35
|
-
def first(*args); raise NoMethodError; end
|
36
|
-
end
|
37
|
-
|
38
|
-
module InstanceMethods
|
39
|
-
def save(*args); raise NoMethodError; end
|
40
|
-
def destroy(*args); raise NoMethodError; end
|
41
|
-
def asset
|
42
|
-
Videojuicer::Asset.const_get(self.class.to_s.split("::").last).get(asset_id)
|
43
|
-
end
|
44
|
-
def matcher_keys
|
45
|
-
[:campaign_policy_id, :asset_id, :role, :href]
|
46
|
-
end
|
47
|
-
def matcher_attributes
|
48
|
-
matcher_keys.inject({}) do |memo, attr|
|
49
|
-
memo.update(attr => self.send(attr))
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
|
56
|
-
class Audio < Base
|
57
|
-
end
|
58
|
-
|
59
|
-
class Image < Base
|
60
|
-
end
|
61
|
-
|
62
|
-
class Text < Base
|
63
|
-
end
|
64
|
-
|
65
|
-
class Video < Base
|
66
|
-
end
|
67
|
-
|
68
|
-
class Heart < Base
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
72
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Campaign::CampaignPolicy do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Campaign::CampaignPolicy
|
7
|
-
configure_test_settings
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "instantiation" do
|
11
|
-
it_should_behave_like "a configurable"
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "general interface:" do
|
15
|
-
before(:all) do
|
16
|
-
@singular_name = "campaign_policy"
|
17
|
-
@plural_name = "campaign_policies"
|
18
|
-
@fixed_attributes = [:campaign_id]
|
19
|
-
end
|
20
|
-
|
21
|
-
it_should_behave_like "a RESTFUL resource model"
|
22
|
-
end
|
23
|
-
|
24
|
-
describe "adding policies" do
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
describe "removing policies" do
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
describe "adding promos" do
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "removing promos" do
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
|
41
|
-
end
|
data/spec/promos/audio_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Promo::Audio do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Promo::Audio
|
7
|
-
configure_test_settings
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "instantiation" do
|
11
|
-
it_should_behave_like "a configurable"
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "general interface:" do
|
15
|
-
before(:all) do
|
16
|
-
@singular_name = "promo"
|
17
|
-
@plural_name = "promos/audio"
|
18
|
-
end
|
19
|
-
|
20
|
-
it_should_behave_like "a dependent non-resource object"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
data/spec/promos/image_spec.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Promo::Image do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Promo::Image
|
7
|
-
configure_test_settings
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "instantiation" do
|
11
|
-
it_should_behave_like "a configurable"
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "general interface:" do
|
15
|
-
before(:all) do
|
16
|
-
@singular_name = "promo"
|
17
|
-
@plural_name = "promos/image"
|
18
|
-
end
|
19
|
-
|
20
|
-
it_should_behave_like "a dependent non-resource object"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
|
data/spec/promos/text_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Promo::Text do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Promo::Text
|
7
|
-
configure_test_settings
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "instantiation" do
|
11
|
-
it_should_behave_like "a configurable"
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "general interface:" do
|
15
|
-
before(:all) do
|
16
|
-
@singular_name = "promo"
|
17
|
-
@plural_name = "promos/text"
|
18
|
-
end
|
19
|
-
|
20
|
-
it_should_behave_like "a dependent non-resource object"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
data/spec/promos/video_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
|
2
|
-
|
3
|
-
describe Videojuicer::Promo::Video do
|
4
|
-
|
5
|
-
before(:all) do
|
6
|
-
@klass = Videojuicer::Promo::Video
|
7
|
-
configure_test_settings
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "instantiation" do
|
11
|
-
it_should_behave_like "a configurable"
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "general interface:" do
|
15
|
-
before(:all) do
|
16
|
-
@singular_name = "promo"
|
17
|
-
@plural_name = "promos/video"
|
18
|
-
end
|
19
|
-
|
20
|
-
it_should_behave_like "a dependent non-resource object"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|