* perf-data upload fixes

This commit is contained in:
Seth Call 2013-05-05 19:17:16 -05:00
parent 87564c442b
commit 5e64e6a7a2
2 changed files with 14 additions and 16 deletions

View File

@ -8,24 +8,22 @@ module JamRuby
self.primary_key = 'id'
attr_accessible :version, :uri, :sha1, :environment, :product
# ORDER MATTERS HERE- before_save for this method must be declared before mount_uploader: https://github.com/jnicklas/carrierwave/wiki/Known-Issues
before_save :update_uri_attributes
mount_uploader :uri, ArtifactUploader
validate :version, :presence => true
validate :uri, :presence => true
validate :sha1, :presence => true
validate :size, :presence => true
validate :environment, :presence => true
validate :product, :inclusion => {:in => PRODUCTS}
validates :version, :presence => true
validates :uri, :presence => true
validates :sha1, :presence => true
validates :size, :presence => true
validates :environment, :presence => true
validates :product, :inclusion => {:in => PRODUCTS}
private
def update_uri_attributes
before_validation(:on => :create) do
if uri.present? && uri_changed?
self.size = uri.file.size
self.sha1 = Digest::MD5.hexdigest(File.read(uri.current_path))
end
end
end
end

View File

@ -5,20 +5,20 @@ module JamRuby
self.primary_key = 'id'
attr_accessible :client_id, :uri
attr_accessible :uri
belongs_to :music_session, :class_name => "JamRuby::MusicSessionHistory"
#mount_uploader :uri, PerfDataUploader
validate :music_session, :presence => true
validate :client_id, :presence => true
validate :uri, :presence => true
validates :music_session, :presence => true
validates :client_id, :presence => true
validates :uri, :presence => true
before_validation(:on => :create) do
self.created_at ||= Time.now
self.id = SecureRandom.uuid
self.uri = "perf_data/#{self.id}/#{self.client_id}-#{self.created_at}"
self.uri = "perf_data/#{self.music_session_id}/#{self.client_id}-#{self.created_at.to_i}"
end
end
end