<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>spec/shared/asset_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -49,6 +49,11 @@ module Videojuicer
       end
       
       module InstanceMethods
+        def derive(preset)
+          response = proxy_for(config).post(resource_path, :preset_id =&gt; preset.id)
+          self.class.new(JSON.parse(response.body))
+        end
+        
         def file
           raise &quot;use the value of #{self.class}#url to download a copy of the asset&quot;
         end
@@ -65,7 +70,8 @@ module Videojuicer
             :original_asset_id =&gt; from_asset.id,
             :preset_id =&gt; preset.id
           }
-          proxy_for(config).post(resource_path(:set_derived), params)
+          response = proxy_for(config).post(resource_path(:set_derived), params)
+          self.attributes = JSON.parse(response.body)
         end
       end
       </diff>
      <filename>lib/videojuicer/asset/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ describe Videojuicer::Asset::Audio do
   
   before(:all) do
     @klass = Videojuicer::Asset::Audio
+    @preset_params = {:derived_type =&gt; &quot;Audio&quot;, :file_format =&gt; &quot;mp3&quot;}
     configure_test_settings
   end
   
@@ -20,5 +21,5 @@ describe Videojuicer::Asset::Audio do
     it_should_behave_like &quot;a RESTFUL resource model&quot;
   end
   
-  
+  it_should_behave_like &quot;an asset&quot;
 end
\ No newline at end of file</diff>
      <filename>spec/assets/audio_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,5 +20,5 @@ describe Videojuicer::Asset::Flash do
     it_should_behave_like &quot;a RESTFUL resource model&quot;
   end
   
-  
+  it_should_behave_like &quot;an asset&quot;
 end
\ No newline at end of file</diff>
      <filename>spec/assets/flash_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ describe Videojuicer::Asset::Image do
   
   before(:all) do
     @klass = Videojuicer::Asset::Image
+    @preset_params = {:derived_type =&gt; &quot;Image&quot;, :file_format =&gt; &quot;png&quot;}
     configure_test_settings
   end
   
@@ -20,5 +21,5 @@ describe Videojuicer::Asset::Image do
     it_should_behave_like &quot;a RESTFUL resource model&quot;
   end
   
-  
+  it_should_behave_like &quot;an asset&quot;
 end
\ No newline at end of file</diff>
      <filename>spec/assets/image_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,5 +20,5 @@ describe Videojuicer::Asset::Text do
     it_should_behave_like &quot;a RESTFUL resource model&quot;
   end
   
-  
+  it_should_behave_like &quot;an asset&quot;
 end
\ No newline at end of file</diff>
      <filename>spec/assets/text_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ describe Videojuicer::Asset::Video do
   
   before(:all) do
     @klass = Videojuicer::Asset::Video
+    @preset_params = {:derived_type =&gt; &quot;Video&quot;, :file_format =&gt; &quot;mp4&quot;}
     configure_test_settings
   end
   
@@ -20,5 +21,5 @@ describe Videojuicer::Asset::Video do
     it_should_behave_like &quot;a RESTFUL resource model&quot;
   end
   
-  
+  it_should_behave_like &quot;an asset&quot;
 end
\ No newline at end of file</diff>
      <filename>spec/assets/video_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,6 +19,7 @@ require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;shared&quot;, &quot;model_spec&quot;)
 require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;shared&quot;, &quot;resource_spec&quot;)
 require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;shared&quot;, &quot;embeddable_spec&quot;)
 require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;shared&quot;, &quot;dependent_spec&quot;)
+require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;shared&quot;, &quot;asset_spec&quot;)
 
 # Load the fixture helper
 require File.join(File.dirname(__FILE__), &quot;spec_fixtures&quot;)</diff>
      <filename>spec/helpers/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>885204ec57d38a358fca1e5d3c29ec2574a6d0e3</id>
    </parent>
  </parents>
  <author>
    <name>Andre Ben Hamou</name>
    <email>andre@bluetheta.com</email>
  </author>
  <url>http://github.com/videojuicer/core-sdk/commit/7f33d10537be7d7942d9d87b988624a34f06104c</url>
  <id>7f33d10537be7d7942d9d87b988624a34f06104c</id>
  <committed-date>2009-10-06T11:25:48-07:00</committed-date>
  <authored-date>2009-10-06T11:25:48-07:00</authored-date>
  <message>Factored out a common asset spec and used it to complete the asset derivation suite.</message>
  <tree>94fe9cbab5ebd44a8d785c208c4d8c2908709059</tree>
  <committer>
    <name>Andre Ben Hamou</name>
    <email>andre@bluetheta.com</email>
  </committer>
</commit>
