vj-sdk 0.6.7 → 0.6.8
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/videojuicer/assets.rb +41 -0
 - data/lib/videojuicer/presentation.rb +16 -0
 - data/lib/videojuicer.rb +1 -0
 - data/spec/assets_spec.rb +24 -0
 - data/spec/presentation_spec.rb +20 -0
 - data/vj-sdk.gemspec +5 -2
 - metadata +7 -4
 
    
        data/VERSION.yml
    CHANGED
    
    
| 
         @@ -0,0 +1,41 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Videojuicer
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Assets
         
     | 
| 
      
 3 
     | 
    
         
            +
                
         
     | 
| 
      
 4 
     | 
    
         
            +
                include Videojuicer::Resource
         
     | 
| 
      
 5 
     | 
    
         
            +
                include Videojuicer::Exceptions
         
     | 
| 
      
 6 
     | 
    
         
            +
                
         
     | 
| 
      
 7 
     | 
    
         
            +
                def self.singular_name
         
     | 
| 
      
 8 
     | 
    
         
            +
                  "asset"
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
                
         
     | 
| 
      
 11 
     | 
    
         
            +
                def self.base_path(options={})
         
     | 
| 
      
 12 
     | 
    
         
            +
                  "/assets"
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
                
         
     | 
| 
      
 15 
     | 
    
         
            +
                def derive(preset)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  response = proxy_for(config).post(resource_path, :preset_id => preset.id)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  self.class.new(JSON.parse(response.body))
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
                
         
     | 
| 
      
 20 
     | 
    
         
            +
                def file
         
     | 
| 
      
 21 
     | 
    
         
            +
                  raise "use the value of #{self.class}#url to download a copy of the asset"
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
                def returnable_attributes
         
     | 
| 
      
 25 
     | 
    
         
            +
                  attrs = super
         
     | 
| 
      
 26 
     | 
    
         
            +
                  attrs.delete(:file) unless new_record?
         
     | 
| 
      
 27 
     | 
    
         
            +
                  attrs
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
                
         
     | 
| 
      
 30 
     | 
    
         
            +
                def set_derived(from_asset, preset)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  params = {
         
     | 
| 
      
 32 
     | 
    
         
            +
                    :original_asset_type => from_asset.class.to_s.split("::").last,
         
     | 
| 
      
 33 
     | 
    
         
            +
                    :original_asset_id => from_asset.id,
         
     | 
| 
      
 34 
     | 
    
         
            +
                    :preset_id => preset.id
         
     | 
| 
      
 35 
     | 
    
         
            +
                  }
         
     | 
| 
      
 36 
     | 
    
         
            +
                  response = proxy_for(config).post(resource_path(:set_derived), params)
         
     | 
| 
      
 37 
     | 
    
         
            +
                  self.attributes = JSON.parse(response.body)
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
                
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -67,5 +67,21 @@ module Videojuicer 
     | 
|
| 
       67 
67 
     | 
    
         
             
                    end
         
     | 
| 
       68 
68 
     | 
    
         
             
                end
         
     | 
| 
       69 
69 
     | 
    
         | 
| 
      
 70 
     | 
    
         
            +
                def has_default_content?
         
     | 
| 
      
 71 
     | 
    
         
            +
                  asset_ids
         
     | 
| 
      
 72 
     | 
    
         
            +
                  return false if video_assets.length > 1
         
     | 
| 
      
 73 
     | 
    
         
            +
                  
         
     | 
| 
      
 74 
     | 
    
         
            +
                  types = @@asset_types.dup
         
     | 
| 
      
 75 
     | 
    
         
            +
                  types.delete "video"
         
     | 
| 
      
 76 
     | 
    
         
            +
                  
         
     | 
| 
      
 77 
     | 
    
         
            +
                  types.inject(true) do |memo, type|
         
     | 
| 
      
 78 
     | 
    
         
            +
                    unless send("#{type}_asset_ids").nil?
         
     | 
| 
      
 79 
     | 
    
         
            +
                      return false
         
     | 
| 
      
 80 
     | 
    
         
            +
                    else
         
     | 
| 
      
 81 
     | 
    
         
            +
                      true
         
     | 
| 
      
 82 
     | 
    
         
            +
                    end
         
     | 
| 
      
 83 
     | 
    
         
            +
                  end
         
     | 
| 
      
 84 
     | 
    
         
            +
                end
         
     | 
| 
      
 85 
     | 
    
         
            +
                
         
     | 
| 
       70 
86 
     | 
    
         
             
              end 
         
     | 
| 
       71 
87 
     | 
    
         
             
            end
         
     | 
    
        data/lib/videojuicer.rb
    CHANGED
    
    | 
         @@ -37,6 +37,7 @@ require 'videojuicer/user' 
     | 
|
| 
       37 
37 
     | 
    
         
             
            require 'videojuicer/campaign'
         
     | 
| 
       38 
38 
     | 
    
         
             
            require 'videojuicer/insert'
         
     | 
| 
       39 
39 
     | 
    
         
             
            require 'videojuicer/presentation'
         
     | 
| 
      
 40 
     | 
    
         
            +
            require 'videojuicer/assets'
         
     | 
| 
       40 
41 
     | 
    
         
             
            require 'videojuicer/asset/audio'
         
     | 
| 
       41 
42 
     | 
    
         
             
            require 'videojuicer/asset/document'
         
     | 
| 
       42 
43 
     | 
    
         
             
            require 'videojuicer/asset/flash'
         
     | 
    
        data/spec/assets_spec.rb
    ADDED
    
    | 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), "helpers",  "spec_helper")
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Videojuicer::Assets do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              before :each do
         
     | 
| 
      
 6 
     | 
    
         
            +
                @klass = Videojuicer::Assets
         
     | 
| 
      
 7 
     | 
    
         
            +
                @preset_params = {:derived_type => "Audio", :file_format => "mp3"}
         
     | 
| 
      
 8 
     | 
    
         
            +
                configure_test_settings
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              
         
     | 
| 
      
 11 
     | 
    
         
            +
              describe "instantiation" do
         
     | 
| 
      
 12 
     | 
    
         
            +
                it_should_behave_like "a configurable"
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
              
         
     | 
| 
      
 15 
     | 
    
         
            +
              describe "listing assets of all types" do
         
     | 
| 
      
 16 
     | 
    
         
            +
                
         
     | 
| 
      
 17 
     | 
    
         
            +
                it "should list assets" do
         
     | 
| 
      
 18 
     | 
    
         
            +
                  @assets = Videojuicer::Assets.all
         
     | 
| 
      
 19 
     | 
    
         
            +
                  p @assets
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @assets.class.should == Array
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/presentation_spec.rb
    CHANGED
    
    | 
         @@ -84,6 +84,26 @@ describe Videojuicer::Presentation do 
     | 
|
| 
       84 
84 
     | 
    
         
             
                  end
         
     | 
| 
       85 
85 
     | 
    
         
             
                end
         
     | 
| 
       86 
86 
     | 
    
         | 
| 
      
 87 
     | 
    
         
            +
                describe "default document_content detection" do
         
     | 
| 
      
 88 
     | 
    
         
            +
                  
         
     | 
| 
      
 89 
     | 
    
         
            +
                  before :each do
         
     | 
| 
      
 90 
     | 
    
         
            +
                    @presentation = Videojuicer::Presentation.gen
         
     | 
| 
      
 91 
     | 
    
         
            +
                    @presentation.document_content = "{% video %}{% id 8003 %}{% endvideo %}"
         
     | 
| 
      
 92 
     | 
    
         
            +
                  end
         
     | 
| 
      
 93 
     | 
    
         
            +
                  
         
     | 
| 
      
 94 
     | 
    
         
            +
                  it "should know it has the default document_content" do
         
     | 
| 
      
 95 
     | 
    
         
            +
                    p @presentation.document_content
         
     | 
| 
      
 96 
     | 
    
         
            +
                    @presentation.has_default_content?.should == true
         
     | 
| 
      
 97 
     | 
    
         
            +
                  end
         
     | 
| 
      
 98 
     | 
    
         
            +
                  
         
     | 
| 
      
 99 
     | 
    
         
            +
                  it "should know it doesn't have the default document_content" do
         
     | 
| 
      
 100 
     | 
    
         
            +
                    @presentation.document_content = "{% image %}{% id 1 %}{% endimage %}"
         
     | 
| 
      
 101 
     | 
    
         
            +
                    p @presentation.document_content
         
     | 
| 
      
 102 
     | 
    
         
            +
                    @presentation.has_default_content?.should == false
         
     | 
| 
      
 103 
     | 
    
         
            +
                  end
         
     | 
| 
      
 104 
     | 
    
         
            +
                  
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
                
         
     | 
| 
       87 
107 
     | 
    
         
             
              end
         
     | 
| 
       88 
108 
     | 
    
         | 
| 
       89 
109 
     | 
    
         | 
    
        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.6. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.6.8"
         
     | 
| 
       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-11- 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2010-11-24}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.email = %q{dan@videojuicer.com}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
| 
       15 
15 
     | 
    
         
             
                "LICENSE",
         
     | 
| 
         @@ -35,6 +35,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       35 
35 
     | 
    
         
             
                 "lib/videojuicer/asset/image.rb",
         
     | 
| 
       36 
36 
     | 
    
         
             
                 "lib/videojuicer/asset/text.rb",
         
     | 
| 
       37 
37 
     | 
    
         
             
                 "lib/videojuicer/asset/video.rb",
         
     | 
| 
      
 38 
     | 
    
         
            +
                 "lib/videojuicer/assets.rb",
         
     | 
| 
       38 
39 
     | 
    
         
             
                 "lib/videojuicer/campaign.rb",
         
     | 
| 
       39 
40 
     | 
    
         
             
                 "lib/videojuicer/criterion/date_range.rb",
         
     | 
| 
       40 
41 
     | 
    
         
             
                 "lib/videojuicer/criterion/geolocation.rb",
         
     | 
| 
         @@ -68,6 +69,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       68 
69 
     | 
    
         
             
                 "spec/assets/image_spec.rb",
         
     | 
| 
       69 
70 
     | 
    
         
             
                 "spec/assets/text_spec.rb",
         
     | 
| 
       70 
71 
     | 
    
         
             
                 "spec/assets/video_spec.rb",
         
     | 
| 
      
 72 
     | 
    
         
            +
                 "spec/assets_spec.rb",
         
     | 
| 
       71 
73 
     | 
    
         
             
                 "spec/belongs_to_spec.rb",
         
     | 
| 
       72 
74 
     | 
    
         
             
                 "spec/campaign_spec.rb",
         
     | 
| 
       73 
75 
     | 
    
         
             
                 "spec/collection_spec.rb",
         
     | 
| 
         @@ -117,6 +119,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       117 
119 
     | 
    
         
             
                 "spec/assets/image_spec.rb",
         
     | 
| 
       118 
120 
     | 
    
         
             
                 "spec/assets/text_spec.rb",
         
     | 
| 
       119 
121 
     | 
    
         
             
                 "spec/assets/video_spec.rb",
         
     | 
| 
      
 122 
     | 
    
         
            +
                 "spec/assets_spec.rb",
         
     | 
| 
       120 
123 
     | 
    
         
             
                 "spec/belongs_to_spec.rb",
         
     | 
| 
       121 
124 
     | 
    
         
             
                 "spec/campaign_spec.rb",
         
     | 
| 
       122 
125 
     | 
    
         
             
                 "spec/collection_spec.rb",
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: vj-sdk
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 23
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 6
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 8
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.6.8
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - danski
         
     | 
| 
         @@ -19,7 +19,7 @@ autorequire: 
     | 
|
| 
       19 
19 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       20 
20 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
            date: 2010-11- 
     | 
| 
      
 22 
     | 
    
         
            +
            date: 2010-11-24 00:00:00 +00:00
         
     | 
| 
       23 
23 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       24 
24 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       25 
25 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -114,6 +114,7 @@ files: 
     | 
|
| 
       114 
114 
     | 
    
         
             
            - lib/videojuicer/asset/image.rb
         
     | 
| 
       115 
115 
     | 
    
         
             
            - lib/videojuicer/asset/text.rb
         
     | 
| 
       116 
116 
     | 
    
         
             
            - lib/videojuicer/asset/video.rb
         
     | 
| 
      
 117 
     | 
    
         
            +
            - lib/videojuicer/assets.rb
         
     | 
| 
       117 
118 
     | 
    
         
             
            - lib/videojuicer/campaign.rb
         
     | 
| 
       118 
119 
     | 
    
         
             
            - lib/videojuicer/criterion/date_range.rb
         
     | 
| 
       119 
120 
     | 
    
         
             
            - lib/videojuicer/criterion/geolocation.rb
         
     | 
| 
         @@ -147,6 +148,7 @@ files: 
     | 
|
| 
       147 
148 
     | 
    
         
             
            - spec/assets/image_spec.rb
         
     | 
| 
       148 
149 
     | 
    
         
             
            - spec/assets/text_spec.rb
         
     | 
| 
       149 
150 
     | 
    
         
             
            - spec/assets/video_spec.rb
         
     | 
| 
      
 151 
     | 
    
         
            +
            - spec/assets_spec.rb
         
     | 
| 
       150 
152 
     | 
    
         
             
            - spec/belongs_to_spec.rb
         
     | 
| 
       151 
153 
     | 
    
         
             
            - spec/campaign_spec.rb
         
     | 
| 
       152 
154 
     | 
    
         
             
            - spec/collection_spec.rb
         
     | 
| 
         @@ -224,6 +226,7 @@ test_files: 
     | 
|
| 
       224 
226 
     | 
    
         
             
            - spec/assets/image_spec.rb
         
     | 
| 
       225 
227 
     | 
    
         
             
            - spec/assets/text_spec.rb
         
     | 
| 
       226 
228 
     | 
    
         
             
            - spec/assets/video_spec.rb
         
     | 
| 
      
 229 
     | 
    
         
            +
            - spec/assets_spec.rb
         
     | 
| 
       227 
230 
     | 
    
         
             
            - spec/belongs_to_spec.rb
         
     | 
| 
       228 
231 
     | 
    
         
             
            - spec/campaign_spec.rb
         
     | 
| 
       229 
232 
     | 
    
         
             
            - spec/collection_spec.rb
         
     |