module Progstr::Filer

Attributes

access_key[W]
asset_url_prefix[RW]
host[RW]
path_prefix[RW]
port[RW]
secret_key[W]
session_timeout[RW]
upload_url[RW]
use_ssl[RW]

Public Class Methods

access_key() click to toggle source
# File lib/filer/config.rb, line 8
def access_key
  @access_key || ENV['PROGSTR_FILER_ACCESS_KEY']
end
default_asset_url_prefix() click to toggle source
# File lib/filer/config.rb, line 20
def default_asset_url_prefix
  insecure_prefix = "http://cdn.progstr.com/upload/"
  secure_prefix = "https://s3.amazonaws.com/cdn.progstr.com/upload/"
  javascript_version = "1.0"

  prefix = insecure_prefix
  prefix = secure_prefix if use_ssl
  prefix + javascript_version
end
default_upload_url() click to toggle source
# File lib/filer/config.rb, line 30
def default_upload_url
  "http://#{Progstr::Filer.host}/upload/new"
end
generate_auth_token() click to toggle source
# File lib/filer/config.rb, line 44
def generate_auth_token
  expiration = expiration_time
  to_sign = "#{access_key}-#{expiration}-#{secret_key}"
  signature = Digest::SHA1.hexdigest(to_sign)
  "#{access_key}-#{expiration}-#{signature}"
end
generate_download_auth_token(file_id) click to toggle source
# File lib/filer/config.rb, line 51
def generate_download_auth_token(file_id)
  expiration = expiration_time
  to_sign = "#{access_key}-#{file_id}-#{expiration}-#{secret_key}"
  signature = Digest::SHA1.hexdigest(to_sign)
  "#{access_key}-#{expiration}-#{signature}"
end
generate_upload_auth_token(uploader) click to toggle source
# File lib/filer/config.rb, line 58
def generate_upload_auth_token(uploader)
  expiration = expiration_time
  to_sign = "#{access_key}-#{uploader}-#{expiration}-#{secret_key}"
  signature = Digest::SHA1.hexdigest(to_sign)
  "#{access_key}-#{expiration}-#{signature}"
end
secret_key() click to toggle source
# File lib/filer/config.rb, line 12
def secret_key
  @secret_key || ENV['PROGSTR_FILER_SECRET_KEY']
end
url_prefix() click to toggle source
# File lib/filer/config.rb, line 65
def url_prefix
  prefix = "http://#{Progstr::Filer.host}:#{Progstr::Filer.port}#{Progstr::Filer.path_prefix}"
  if prefix.end_with? "/"
    prefix
  else
    prefix + "/"
  end
end

Private Class Methods

expiration_time() click to toggle source
# File lib/filer/config.rb, line 75
def expiration_time
  seconds = (Time.now + session_timeout).to_i
  millis = seconds * 1000
  millis
end