myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [3758] branches/packs/app/models/blob.rb: added R


From: noreply
Subject: [myexperiment-hackers] [3758] branches/packs/app/models/blob.rb: added RO backing to files
Date: Mon, 21 Oct 2013 13:44:59 +0000 (UTC)

Revision
3758
Author
dgc
Date
2013-10-21 13:44:59 +0000 (Mon, 21 Oct 2013)

Log Message

added RO backing to files

Modified Paths

Diff

Modified: branches/packs/app/models/blob.rb (3757 => 3758)


--- branches/packs/app/models/blob.rb	2013-10-21 13:33:07 UTC (rev 3757)
+++ branches/packs/app/models/blob.rb	2013-10-21 13:44:59 UTC (rev 3758)
@@ -10,8 +10,12 @@
 require 'acts_as_attributable'
 require 'sunspot_rails'
 
+require 'has_research_object'
+
 class Blob < ActiveRecord::Base
 
+  include ResearchObjectsHelper
+
   acts_as_site_entity :owner_text => 'Uploader'
 
   acts_as_contributable
@@ -67,6 +71,10 @@
     end
   end
 
+  has_research_object
+
+  after_create :create_research_object
+
   format_attribute :body
 
   def type
@@ -98,4 +106,23 @@
   def statistics_for_rest_api
     APIStatistics.statistics(self)
   end
+
+  def create_research_object
+
+    user_path = "/users/#{contributor_id}"
+
+    slug = "File#{self.id}"
+    slug = SecureRandom.uuid if ResearchObject.find_by_slug_and_version(slug, nil)
+
+    ro = ResearchObject.create(:slug => slug, :user => self.contributor)
+
+    update_attribute(:research_object, ro)
+
+    file_resource = ro.create_aggregated_resource(
+        :user_uri     => user_path,
+        :path         => local_name,  # FIXME - where should these be URL encoded?
+        :data         ="" content_blob.data,
+        :context      => self,
+        :content_type => content_type.mime_type)
+  end
 end

reply via email to

[Prev in Thread] Current Thread [Next in Thread]