videojuicer-vj-sdk 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ log/*
2
+ *.yaml
3
+ *.yml
4
+ pkg/*
data/Rakefile ADDED
@@ -0,0 +1,64 @@
1
+ require 'rubygems'
2
+ require 'merb-core'
3
+ require 'rake'
4
+
5
+ begin
6
+ require 'jeweler'
7
+ Jeweler::Tasks.new do |gem|
8
+ gem.name = "vj-sdk"
9
+ gem.summary = %Q{TODO}
10
+ gem.email = "dan@videojuicer.com"
11
+ gem.homepage = "http://github.com/danski/vj-sdk"
12
+ gem.authors = ["danski", "thejohnny", "knowtheory", "sixones"]
13
+
14
+ # Declare dependencies
15
+ gem.add_dependency "oauth", ">= 0.3.3"
16
+ end
17
+ rescue LoadError
18
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
19
+ end
20
+
21
+ require 'spec/rake/spectask'
22
+ Spec::Rake::SpecTask.new do |t|
23
+ t.spec_opts = ['--options', 'spec/spec.opts']
24
+ t.spec_files = FileList['spec/**/*_spec.rb']
25
+ end
26
+
27
+ namespace :spec do
28
+ task :sdk do
29
+ require 'tasks/vj-core'
30
+ Rake::Task["videojuicer:core:setup"].invoke
31
+ Rake::Task["spec"].invoke
32
+ Rake::Task["videojuicer:core:cleanup"].invoke
33
+ end
34
+ end
35
+ task :default => :"spec:sdk"
36
+
37
+ begin
38
+ require 'rcov/rcovtask'
39
+ Rcov::RcovTask.new do |test|
40
+ test.libs << 'test'
41
+ test.pattern = 'test/**/*_test.rb'
42
+ test.verbose = true
43
+ end
44
+ rescue LoadError
45
+ task :rcov do
46
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
47
+ end
48
+ end
49
+
50
+ require 'rake/rdoctask'
51
+ Rake::RDocTask.new do |rdoc|
52
+ if File.exist?('VERSION.yml')
53
+ config = YAML.load(File.read('VERSION.yml'))
54
+ version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
55
+ else
56
+ version = ""
57
+ end
58
+
59
+ rdoc.rdoc_dir = 'rdoc'
60
+ rdoc.title = "vj-sdk #{version}"
61
+ rdoc.rdoc_files.include('README*')
62
+ rdoc.rdoc_files.include('lib/**/*.rb')
63
+ end
64
+
@@ -3,9 +3,10 @@ require File.join(File.dirname(__FILE__), "base")
3
3
  module Videojuicer
4
4
  module Asset
5
5
  class Audio < Base
6
-
7
- property :bit_rate, Integer
8
-
6
+ property :bit_rate, Integer # bits per second
7
+ property :format, String
8
+ property :sample_rate, Integer # hertz
9
+ property :stereo, String
9
10
  end
10
11
  end
11
12
  end
@@ -19,7 +19,6 @@ module Videojuicer
19
19
  base.property :licensed_under, String
20
20
  base.property :published_at, Date
21
21
  # - access control / workflow
22
- base.property :disclosure, String
23
22
  base.property :state, String, :writer => :private
24
23
  base.property :url, String, :writer => :private
25
24
 
@@ -3,10 +3,8 @@ require File.join(File.dirname(__FILE__), "base")
3
3
  module Videojuicer
4
4
  module Asset
5
5
  class Image < Base
6
-
7
6
  property :width, Integer # pixels
8
7
  property :height, Integer # pixels
9
-
10
8
  end
11
9
  end
12
10
  end
@@ -3,11 +3,17 @@ require File.join(File.dirname(__FILE__), "base")
3
3
  module Videojuicer
4
4
  module Asset
5
5
  class Video < Base
6
-
7
- property :width, Integer # pixels
8
- property :height, Integer # pixels
9
- property :bit_rate, Integer # bits per second
10
-
6
+ property :audio_bit_rate, Integer # bits per second
7
+ property :audio_format, String
8
+ property :audio_sample_rate, Integer # hertz
9
+ property :audio_stereo, String
10
+
11
+ property :video_bit_rate, Integer # bits per second
12
+ property :video_format, String
13
+ property :video_frame_rate, Float # frames per second
14
+
15
+ property :width, Integer # pixels
16
+ property :height, Integer # pixels
11
17
  end
12
18
  end
13
19
  end
@@ -0,0 +1,21 @@
1
+ # DO NOT USE YET
2
+ module Videojuicer
3
+ module Criterion
4
+ class Affiliate
5
+ include Videojuicer::Resource
6
+ include Videojuicer::Exceptions
7
+
8
+ property :created_at, DateTime
9
+ property :updated_at, DateTime
10
+
11
+
12
+ def self.singular_name
13
+ "criteria"
14
+ end
15
+
16
+ def self.base_path
17
+ "/criteria/affilate"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ module Videojuicer
2
+ module Criterion
3
+ class DateRange
4
+ include Videojuicer::Resource
5
+ include Videojuicer::Exceptions
6
+
7
+ property :until, DateTime
8
+ property :after, DateTime
9
+ property :created_at, DateTime
10
+ property :updated_at, DateTime
11
+
12
+ def self.plural_name
13
+ "criteria"
14
+ end
15
+
16
+ def self.singular_name
17
+ "criterion"
18
+ end
19
+
20
+ def self.base_path
21
+ "/criteria/date_range"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,12 @@
1
+ # DO NOT USE YET
2
+ module Videojuicer
3
+ module Criterion
4
+ class Embed
5
+ include Videojuicer::Resource
6
+ include Videojuicer::Exceptions
7
+
8
+ property :created_at, DateTime
9
+ property :updated_at, DateTime
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,27 @@
1
+ module Videojuicer
2
+ module Criterion
3
+ class Geolocation
4
+ include Videojuicer::Resource
5
+ include Videojuicer::Exceptions
6
+
7
+ property :city, String
8
+ property :region, String
9
+ property :country, String
10
+ #property :exclude, Boolean
11
+ property :created_at, DateTime
12
+ property :updated_at, DateTime
13
+
14
+ def self.plural_name
15
+ "criteria"
16
+ end
17
+
18
+ def self.singular_name
19
+ "criterion"
20
+ end
21
+
22
+ def self.base_path
23
+ "/criteria/geolocation"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,24 @@
1
+ module Videojuicer
2
+ module Criterion
3
+ class Request
4
+ include Videojuicer::Resource
5
+ include Videojuicer::Exceptions
6
+
7
+ property :referrer, String
8
+ property :created_at, DateTime
9
+ property :updated_at, DateTime
10
+
11
+ def self.plural_name
12
+ "criteria"
13
+ end
14
+
15
+ def self.singular_name
16
+ "criterion"
17
+ end
18
+
19
+ def self.base_path
20
+ "/criteria/request"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ module Videojuicer
2
+ module Criterion
3
+ class Time
4
+ include Videojuicer::Resource
5
+ include Videojuicer::Exceptions
6
+
7
+ property :until, String
8
+ property :after, String
9
+ property :created_at, DateTime
10
+ property :updated_at, DateTime
11
+
12
+ def self.plural_name
13
+ "criteria"
14
+ end
15
+
16
+ def self.singular_name
17
+ "criterion"
18
+ end
19
+
20
+ def self.base_path
21
+ "/criteria/time"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,24 @@
1
+ module Videojuicer
2
+ module Criterion
3
+ class WeekDay
4
+ include Videojuicer::Resource
5
+ include Videojuicer::Exceptions
6
+
7
+ property :day, Integer
8
+ property :created_at, DateTime
9
+ property :updated_at, DateTime
10
+
11
+ def self.plural_name
12
+ "criteria"
13
+ end
14
+
15
+ def self.singular_name
16
+ "criterion"
17
+ end
18
+
19
+ def self.base_path
20
+ "/criteria/week_day"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -89,8 +89,12 @@ module Videojuicer
89
89
  case c
90
90
  when 415
91
91
  response
92
+ when 401
93
+ response_error Unauthenticated, response
92
94
  when 403
93
95
  response_error Forbidden, response
96
+ when 406
97
+ response_error NotAcceptable, response
94
98
  when 400..499
95
99
  response_error NoResource, response
96
100
  when 500..600
@@ -47,7 +47,6 @@ module Videojuicer
47
47
  end
48
48
 
49
49
  # Parse and handle response
50
- puts resource_path
51
50
  return validate_response(response)
52
51
  end
53
52
 
@@ -16,5 +16,11 @@ module Videojuicer
16
16
  # Raised when the remote resource refuses to carry out an action.
17
17
  class Forbidden < ::StandardError; end
18
18
 
19
+ # Raised when status is 401
20
+ class Unauthenticated < ::StandardError; end
21
+
22
+ # Raised when status is 406
23
+ class NotAcceptable < ::StandardError; end
24
+
19
25
  end
20
26
  end
data/lib/videojuicer.rb CHANGED
@@ -32,6 +32,14 @@ require 'videojuicer/asset/video'
32
32
  require 'videojuicer/asset/text'
33
33
  require 'videojuicer/asset/image'
34
34
 
35
+ require 'videojuicer/criterion/affiliate'
36
+ require 'videojuicer/criterion/date_range'
37
+ require 'videojuicer/criterion/embed'
38
+ require 'videojuicer/criterion/geolocation'
39
+ require 'videojuicer/criterion/request'
40
+ require 'videojuicer/criterion/time'
41
+ require 'videojuicer/criterion/week_day'
42
+
35
43
  module Videojuicer
36
44
 
37
45
  DEFAULTS = {
@@ -0,0 +1,37 @@
1
+ require File.join(File.dirname(__FILE__), "..", "helpers", "spec_helper")
2
+
3
+ describe Videojuicer::Criterion::DateRange do
4
+
5
+ before(:all) do
6
+ @klass = Videojuicer::Criterion::DateRange
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/date_range"
27
+ @good_attributes = {
28
+ :after => DateTime.parse((Time.now - 60*60*24).to_s),
29
+ :until => DateTime.parse((Time.now + 60*60*24).to_s)
30
+ }
31
+ end
32
+
33
+ it_should_behave_like "a RESTFUL resource model"
34
+ end
35
+
36
+
37
+ end
@@ -0,0 +1,38 @@
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
@@ -0,0 +1,36 @@
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
@@ -0,0 +1,37 @@
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
@@ -0,0 +1,39 @@
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
@@ -86,8 +86,8 @@ shared_examples_for "a RESTFUL resource model" do
86
86
 
87
87
  describe "finding a record by ID" do
88
88
  before(:all) do
89
- attrs = cycle_attributes(@good_attributes)
90
- @record = @klass.new(attrs)
89
+ @random_attributes ||= cycle_attributes(@good_attributes)
90
+ @record = @klass.new(@random_attributes)
91
91
  @record.save.should be_true
92
92
  @found = @klass.get(@record.id)
93
93
  end
@@ -132,7 +132,8 @@ shared_examples_for "a RESTFUL resource model" do
132
132
 
133
133
  describe "an existing record" do
134
134
  before(:all) do
135
- @record = @klass.new(cycle_attributes(@good_attributes))
135
+ @random_attributes ||= cycle_attributes(@good_attributes)
136
+ @record = @klass.new(@random_attributes)
136
137
  @record.save.should be_true
137
138
  end
138
139
 
@@ -157,7 +158,8 @@ shared_examples_for "a RESTFUL resource model" do
157
158
 
158
159
  describe "deleting a record" do
159
160
  before(:each) do
160
- @record = @klass.new(cycle_attributes(@good_attributes))
161
+ @random_attributes ||= cycle_attributes(@good_attributes)
162
+ @record = @klass.new(@random_attributes)
161
163
  @record.save.should be_true
162
164
  end
163
165
 
data/tasks/vj-core.rb ADDED
@@ -0,0 +1,71 @@
1
+ =begin
2
+
3
+ Prepares the vj-core development environment. Runs automatically before spec.
4
+
5
+ =end
6
+
7
+ require 'net/http'
8
+ require 'lib/sdk_connection_harness'
9
+
10
+ namespace :videojuicer do
11
+ namespace :core do
12
+
13
+ task :setup do
14
+ Rake::Task['videojuicer:core:load_fixtures'].invoke
15
+ Rake::Task['videojuicer:core:start'].invoke
16
+ end
17
+
18
+ task :cleanup do
19
+ Rake::Task['videojuicer:core:stop'].invoke
20
+ end
21
+
22
+ task :load_fixtures do
23
+ puts "Loading fixtures from vj-core..."
24
+ SDKConnectionHarness.load_fixtures
25
+ puts "Writing to tempfile..."
26
+ SDKConnectionHarness.write_fixtures
27
+ end
28
+
29
+ task :start do
30
+ if SDKConnectionHarness.running?
31
+ puts "The SDK Test harness is already running on port #{SDKConnectionHarness.port}. Attempting to stop."
32
+ SDKConnectionHarness.stop!
33
+ until !SDKConnectionHarness.running? do
34
+ print "+"
35
+ sleep 1
36
+ end
37
+ else
38
+ SDKConnectionHarness.start!
39
+ puts "Waiting for test harness to launch and open the port."
40
+ until SDKConnectionHarness.running? do
41
+ print "+"
42
+ sleep 1
43
+ end
44
+ end
45
+ end
46
+
47
+ task :status do
48
+ puts( if SDKConnectionHarness.running?
49
+ "The test harness is RUNNING on port #{SDKConnectionHarness.port}"
50
+ else
51
+ "The test harness is NOT running on port #{SDKConnectionHarness.port}"
52
+ end
53
+ )
54
+ end
55
+
56
+ task :stop do
57
+ if SDKConnectionHarness.running?
58
+ SDKConnectionHarness.stop!
59
+ puts "Waiting for exit"
60
+ while SDKConnectionHarness.running? do
61
+ print "."
62
+ sleep 1
63
+ end
64
+ else
65
+ puts "The test harness was not running and therefore could not be stopped. We advise that you do not attempt to confuse us with such philosophical quandries again."
66
+ end
67
+ end
68
+
69
+ end
70
+ end
71
+
data/vj-sdk.gemspec ADDED
@@ -0,0 +1,124 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{vj-sdk}
5
+ s.version = "0.1.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["danski", "thejohnny", "knowtheory", "sixones"]
9
+ s.date = %q{2009-08-04}
10
+ s.email = %q{dan@videojuicer.com}
11
+ s.extra_rdoc_files = [
12
+ "LICENSE",
13
+ "README.markdown",
14
+ "README.rdoc"
15
+ ]
16
+ s.files = [
17
+ ".gitignore",
18
+ "LICENSE",
19
+ "README.markdown",
20
+ "README.rdoc",
21
+ "Rakefile",
22
+ "VERSION.yml",
23
+ "lib/core_ext/hash.rb",
24
+ "lib/sdk_connection_harness.rb",
25
+ "lib/videojuicer.rb",
26
+ "lib/videojuicer/asset/audio.rb",
27
+ "lib/videojuicer/asset/base.rb",
28
+ "lib/videojuicer/asset/image.rb",
29
+ "lib/videojuicer/asset/text.rb",
30
+ "lib/videojuicer/asset/video.rb",
31
+ "lib/videojuicer/campaign.rb",
32
+ "lib/videojuicer/criterion/affiliate.rb",
33
+ "lib/videojuicer/criterion/date_range.rb",
34
+ "lib/videojuicer/criterion/embed.rb",
35
+ "lib/videojuicer/criterion/geolocation.rb",
36
+ "lib/videojuicer/criterion/request.rb",
37
+ "lib/videojuicer/criterion/time.rb",
38
+ "lib/videojuicer/criterion/week_day.rb",
39
+ "lib/videojuicer/oauth/multipart_helper.rb",
40
+ "lib/videojuicer/oauth/proxy_factory.rb",
41
+ "lib/videojuicer/oauth/request_proxy.rb",
42
+ "lib/videojuicer/presentation.rb",
43
+ "lib/videojuicer/resource/base.rb",
44
+ "lib/videojuicer/resource/collection.rb",
45
+ "lib/videojuicer/resource/errors.rb",
46
+ "lib/videojuicer/resource/inferrable.rb",
47
+ "lib/videojuicer/resource/property_registry.rb",
48
+ "lib/videojuicer/resource/relationships/belongs_to.rb",
49
+ "lib/videojuicer/session.rb",
50
+ "lib/videojuicer/shared/configurable.rb",
51
+ "lib/videojuicer/shared/exceptions.rb",
52
+ "lib/videojuicer/user.rb",
53
+ "spec/audio_spec.rb",
54
+ "spec/belongs_to_spec.rb",
55
+ "spec/campaign_spec.rb",
56
+ "spec/collection_spec.rb",
57
+ "spec/criteria/date_range_spec.rb",
58
+ "spec/criteria/geolocation_spec.rb",
59
+ "spec/criteria/request_spec.rb",
60
+ "spec/criteria/time_spec.rb",
61
+ "spec/criteria/week_day_spec.rb",
62
+ "spec/files/audio.mp3",
63
+ "spec/files/empty_file",
64
+ "spec/files/image.jpg",
65
+ "spec/files/text.txt",
66
+ "spec/files/video.mov",
67
+ "spec/helpers/spec_helper.rb",
68
+ "spec/image_spec.rb",
69
+ "spec/presentation_spec.rb",
70
+ "spec/property_registry_spec.rb",
71
+ "spec/request_proxy_spec.rb",
72
+ "spec/session_spec.rb",
73
+ "spec/shared/configurable_spec.rb",
74
+ "spec/shared/resource_spec.rb",
75
+ "spec/spec.opts",
76
+ "spec/text_spec.rb",
77
+ "spec/user_spec.rb",
78
+ "spec/video_spec.rb",
79
+ "spec/videojuicer_spec.rb",
80
+ "tasks/vj-core.rb",
81
+ "vj-sdk.gemspec"
82
+ ]
83
+ s.homepage = %q{http://github.com/danski/vj-sdk}
84
+ s.rdoc_options = ["--charset=UTF-8"]
85
+ s.require_paths = ["lib"]
86
+ s.rubygems_version = %q{1.3.5}
87
+ s.summary = %q{TODO}
88
+ s.test_files = [
89
+ "spec/audio_spec.rb",
90
+ "spec/belongs_to_spec.rb",
91
+ "spec/campaign_spec.rb",
92
+ "spec/collection_spec.rb",
93
+ "spec/criteria/date_range_spec.rb",
94
+ "spec/criteria/geolocation_spec.rb",
95
+ "spec/criteria/request_spec.rb",
96
+ "spec/criteria/time_spec.rb",
97
+ "spec/criteria/week_day_spec.rb",
98
+ "spec/helpers/spec_helper.rb",
99
+ "spec/image_spec.rb",
100
+ "spec/presentation_spec.rb",
101
+ "spec/property_registry_spec.rb",
102
+ "spec/request_proxy_spec.rb",
103
+ "spec/session_spec.rb",
104
+ "spec/shared/configurable_spec.rb",
105
+ "spec/shared/resource_spec.rb",
106
+ "spec/text_spec.rb",
107
+ "spec/user_spec.rb",
108
+ "spec/video_spec.rb",
109
+ "spec/videojuicer_spec.rb"
110
+ ]
111
+
112
+ if s.respond_to? :specification_version then
113
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
114
+ s.specification_version = 3
115
+
116
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
117
+ s.add_runtime_dependency(%q<oauth>, [">= 0.3.3"])
118
+ else
119
+ s.add_dependency(%q<oauth>, [">= 0.3.3"])
120
+ end
121
+ else
122
+ s.add_dependency(%q<oauth>, [">= 0.3.3"])
123
+ end
124
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: videojuicer-vj-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - danski
@@ -12,28 +12,18 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2009-07-21 00:00:00 -07:00
15
+ date: 2009-08-04 00:00:00 -07:00
16
16
  default_executable:
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: json
19
+ name: oauth
20
20
  type: :runtime
21
21
  version_requirement:
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: "1.0"
27
- version:
28
- - !ruby/object:Gem::Dependency
29
- name: ruby-hmac
30
- type: :runtime
31
- version_requirement:
32
- version_requirements: !ruby/object:Gem::Requirement
33
- requirements:
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 0.3.2
26
+ version: 0.3.3
37
27
  version:
38
28
  description:
39
29
  email: dan@videojuicer.com
@@ -42,61 +32,66 @@ executables: []
42
32
  extensions: []
43
33
 
44
34
  extra_rdoc_files:
35
+ - LICENSE
45
36
  - README.markdown
46
37
  - README.rdoc
47
- - LICENSE
48
38
  files:
39
+ - .gitignore
40
+ - LICENSE
49
41
  - README.markdown
50
42
  - README.rdoc
43
+ - Rakefile
51
44
  - VERSION.yml
52
- - lib/core_ext
53
45
  - lib/core_ext/hash.rb
54
46
  - lib/sdk_connection_harness.rb
55
- - lib/videojuicer
56
- - lib/videojuicer/asset
47
+ - lib/videojuicer.rb
57
48
  - lib/videojuicer/asset/audio.rb
58
49
  - lib/videojuicer/asset/base.rb
59
50
  - lib/videojuicer/asset/image.rb
60
51
  - lib/videojuicer/asset/text.rb
61
52
  - lib/videojuicer/asset/video.rb
62
53
  - lib/videojuicer/campaign.rb
63
- - lib/videojuicer/oauth
54
+ - lib/videojuicer/criterion/affiliate.rb
55
+ - lib/videojuicer/criterion/date_range.rb
56
+ - lib/videojuicer/criterion/embed.rb
57
+ - lib/videojuicer/criterion/geolocation.rb
58
+ - lib/videojuicer/criterion/request.rb
59
+ - lib/videojuicer/criterion/time.rb
60
+ - lib/videojuicer/criterion/week_day.rb
64
61
  - lib/videojuicer/oauth/multipart_helper.rb
65
62
  - lib/videojuicer/oauth/proxy_factory.rb
66
63
  - lib/videojuicer/oauth/request_proxy.rb
67
64
  - lib/videojuicer/presentation.rb
68
- - lib/videojuicer/resource
69
65
  - lib/videojuicer/resource/base.rb
70
66
  - lib/videojuicer/resource/collection.rb
71
67
  - lib/videojuicer/resource/errors.rb
72
68
  - lib/videojuicer/resource/inferrable.rb
73
69
  - lib/videojuicer/resource/property_registry.rb
74
- - lib/videojuicer/resource/relationships
75
70
  - lib/videojuicer/resource/relationships/belongs_to.rb
76
71
  - lib/videojuicer/session.rb
77
- - lib/videojuicer/shared
78
72
  - lib/videojuicer/shared/configurable.rb
79
73
  - lib/videojuicer/shared/exceptions.rb
80
74
  - lib/videojuicer/user.rb
81
- - lib/videojuicer.rb
82
75
  - spec/audio_spec.rb
83
76
  - spec/belongs_to_spec.rb
84
77
  - spec/campaign_spec.rb
85
78
  - spec/collection_spec.rb
86
- - spec/files
79
+ - spec/criteria/date_range_spec.rb
80
+ - spec/criteria/geolocation_spec.rb
81
+ - spec/criteria/request_spec.rb
82
+ - spec/criteria/time_spec.rb
83
+ - spec/criteria/week_day_spec.rb
87
84
  - spec/files/audio.mp3
88
85
  - spec/files/empty_file
89
86
  - spec/files/image.jpg
90
87
  - spec/files/text.txt
91
88
  - spec/files/video.mov
92
- - spec/helpers
93
89
  - spec/helpers/spec_helper.rb
94
90
  - spec/image_spec.rb
95
91
  - spec/presentation_spec.rb
96
92
  - spec/property_registry_spec.rb
97
93
  - spec/request_proxy_spec.rb
98
94
  - spec/session_spec.rb
99
- - spec/shared
100
95
  - spec/shared/configurable_spec.rb
101
96
  - spec/shared/resource_spec.rb
102
97
  - spec/spec.opts
@@ -104,12 +99,13 @@ files:
104
99
  - spec/user_spec.rb
105
100
  - spec/video_spec.rb
106
101
  - spec/videojuicer_spec.rb
107
- - LICENSE
102
+ - tasks/vj-core.rb
103
+ - vj-sdk.gemspec
108
104
  has_rdoc: false
109
105
  homepage: http://github.com/danski/vj-sdk
106
+ licenses:
110
107
  post_install_message:
111
108
  rdoc_options:
112
- - --inline-source
113
109
  - --charset=UTF-8
114
110
  require_paths:
115
111
  - lib
@@ -128,9 +124,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
124
  requirements: []
129
125
 
130
126
  rubyforge_project:
131
- rubygems_version: 1.2.0
127
+ rubygems_version: 1.3.5
132
128
  signing_key:
133
129
  specification_version: 3
134
- summary: A library for communicating with the Videojuicer REST API.
135
- test_files: []
136
-
130
+ summary: TODO
131
+ test_files:
132
+ - spec/audio_spec.rb
133
+ - spec/belongs_to_spec.rb
134
+ - spec/campaign_spec.rb
135
+ - spec/collection_spec.rb
136
+ - spec/criteria/date_range_spec.rb
137
+ - spec/criteria/geolocation_spec.rb
138
+ - spec/criteria/request_spec.rb
139
+ - spec/criteria/time_spec.rb
140
+ - spec/criteria/week_day_spec.rb
141
+ - spec/helpers/spec_helper.rb
142
+ - spec/image_spec.rb
143
+ - spec/presentation_spec.rb
144
+ - spec/property_registry_spec.rb
145
+ - spec/request_proxy_spec.rb
146
+ - spec/session_spec.rb
147
+ - spec/shared/configurable_spec.rb
148
+ - spec/shared/resource_spec.rb
149
+ - spec/text_spec.rb
150
+ - spec/user_spec.rb
151
+ - spec/video_spec.rb
152
+ - spec/videojuicer_spec.rb