module Oss

Constants

SERVICE_HOST
VERSION

Attributes

config[R]

Public Class Methods

api() click to toggle source
# File lib/oss.rb, line 29
def self.api
  @api ||= Api.new(config.endpoint, config.access_key_id, config.access_key_secret, config.bucket)
end
config() click to toggle source

load configs for Rails app

# File lib/oss.rb, line 15
def self.config
  @config ||= begin
    if defined? Rails
      config_file = Rails.root.join('config/oss.yml')
      config = YAML.load(ERB.new(File.new(config_file).read).result)[Rails.env] if File.exist?(config_file)
    end

    config ||= config_from_environment
    config.symbolize_keys!
    config[:endpoint] ||= 'oss-cn-hangzhou.aliyuncs.com'
    OpenStruct.new(config)
  end
end
config_from_environment() click to toggle source

load configs from environment

# File lib/oss.rb, line 34
def self.config_from_environment
  {
      access_key_id: ENV['OSS_ID'],
      access_key_secret: ENV['OSS_SECRET'],
      endpoint: ENV['ENDPOINT'],
      bucket: ENV['BUCKET'],
  }
end