Sha256: fc55cb9a190cd92211ea6f110a767b52dfd743f8fdf400977a40c381f4ec578f

Contents?: true

Size: 719 Bytes

Versions: 10

Compression:

Stored size: 719 Bytes

Contents

class SingleUseLink < ActiveRecord::Base

  attr_accessible :downloadKey, :expires, :itemId, :path if Rails::VERSION::MAJOR == 3
    
  
  def self.create_show(item_id)
     create_path(item_id, Sufia::Engine.routes.url_helpers.generic_file_path(item_id) )     
  end

  def self.create_download(item_id)
     create_path(item_id, Sufia::Engine.routes.url_helpers.download_path(item_id) )
  end
  
  def expired?
     now = DateTime.now
     return (now > expires)
  end
  
  protected
  def self.create_path(itemId, path)
     expires = DateTime.now.advance(hours:24)
     key = Digest::SHA2.new << rand(1000000000).to_s
     return create({downloadKey:key.to_s, expires:expires, path:path, itemId:itemId} )
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
sufia-3.1.3 sufia-models/app/models/single_use_link.rb
sufia-models-3.1.3 app/models/single_use_link.rb
sufia-3.1.2 sufia-models/app/models/single_use_link.rb
sufia-models-3.1.2 app/models/single_use_link.rb
sufia-3.1.1 sufia-models/app/models/single_use_link.rb
sufia-models-3.1.1 app/models/single_use_link.rb
sufia-3.1.0 sufia-models/app/models/single_use_link.rb
sufia-models-3.1.0 app/models/single_use_link.rb
sufia-3.0.0 sufia-models/app/models/single_use_link.rb
sufia-models-3.0.0 app/models/single_use_link.rb