module Fogged

Constants

VERSION

Public Class Methods

configure() { |self| ... } click to toggle source
# File lib/fogged.rb, line 42
def self.configure
  yield self if block_given?
  check_config
  self.zencoder_enabled = defined?(Zencoder)
  self.minimagick_enabled = defined?(MiniMagick)
  self.active_job_enabled = (Rails.application.config.active_job.queue_adapter != :inline)
end
directory_public_url(directory_name) click to toggle source
# File lib/fogged/utils.rb, line 2
def self.directory_public_url(directory_name)
  case Fogged.provider
  when :aws
    Fogged.storage.request_url(:bucket_name => directory_name)
  else
    fail(ArgumentError, "Provider #{Fogged.provider} is not available!")
  end
end
file_exists?(key) click to toggle source
# File lib/fogged/utils.rb, line 23
def self.file_exists?(key)
  Fogged.resources.files.head(key)
end
file_public_url(key, directory = Fogged.resources.key) click to toggle source
# File lib/fogged/utils.rb, line 15
def self.file_public_url(key, directory = Fogged.resources.key)
  Fogged.storage.try(
    :request_url,
    :bucket_name => directory,
    :object_name => key
  )
end
resources() click to toggle source
# File lib/fogged.rb, line 50
def self.resources
  return Fogged._resources if Fogged._resources

  case Fogged.provider
  when :aws
    Fogged._resources = aws_resources
  else
    fail(ArgumentError, "Provider #{Fogged.provider} is not available!")
  end
end
resources_public_url() click to toggle source
# File lib/fogged/utils.rb, line 11
def self.resources_public_url
  directory_public_url(Fogged.resources.key)
end
test_mode!() click to toggle source
# File lib/fogged.rb, line 61
def self.test_mode!
  Fogged.test_enabled = true
  Fogged._resources = test_resources
end
with_directory(directory_name) { || ... } click to toggle source
# File lib/fogged/with_directory.rb, line 2
def self.with_directory(directory_name)
  old_resources = Fogged._resources
  Fogged._resources = Fogged.storage.directories.get(directory_name)
  yield
ensure
  Fogged._resources = old_resources
end
zencoder_additional_outputs(&block) click to toggle source
# File lib/fogged/zencoder_additional_outputs.rb, line 4
def self.zencoder_additional_outputs(&block)
  Fogged.zencoder_additional_outputs_block = block
end

Private Class Methods

aws_resources() click to toggle source
# File lib/fogged.rb, line 81
def self.aws_resources
  storage_options = {
    :provider => "AWS",
    :aws_access_key_id => Fogged.aws_key,
    :aws_secret_access_key => Fogged.aws_secret
  }
  storage_options.merge!(:region => Fogged.aws_region) if Fogged.aws_region
  Fogged.storage = Fog::Storage.new(storage_options)

  Fogged.storage.directories.get(Fogged.aws_bucket)
end
check_config() click to toggle source
# File lib/fogged.rb, line 93
def self.check_config
  case Fogged.provider
  when :aws
    fail(ArgumentError, "AWS key is mandatory") unless Fogged.aws_key
    fail(ArgumentError, "AWS secret is mandatory") unless Fogged.aws_secret
    fail(ArgumentError, "AWS bucket is mandatory") unless Fogged.aws_bucket
  else
    fail(ArgumentError, "Provider #{Fogged.provider} is not available!")
  end
end
test_resources() click to toggle source
# File lib/fogged.rb, line 68
def self.test_resources
  Fog.mock!
  Fogged.storage = Fog::Storage.new(
    :provider => "AWS",
    :aws_access_key_id => "XXX",
    :aws_secret_access_key => "XXX"
  )
  Fogged.aws_key = "XXX"
  Fogged.aws_secret = "XXX"
  Fogged.aws_bucket = "test"
  Fogged.storage.directories.create(:key => "test")
end