Module: Oss

Defined in:
lib/oss.rb,
lib/oss/api.rb,
lib/oss/cors.rb,
lib/oss/util.rb,
lib/oss/error.rb,
lib/oss/bucket.rb,
lib/oss/client.rb,
lib/oss/object.rb,
lib/oss/service.rb,
lib/oss/version.rb,
lib/oss/multipart.rb

Defined Under Namespace

Modules: Util Classes: Api, Bucket, Client, Cors, Multipart, Object, ResponseError, Service

Constant Summary collapse

SERVICE_HOST =
'oss.aliyuncs.com'
VERSION =
'0.1.0'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



12
13
14
# File 'lib/oss.rb', line 12

def config
  @config
end

Class Method Details

.apiObject



29
30
31
# 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

.configObject

load configs for Rails app



15
16
17
18
19
20
21
22
23
24
25
26
27
# 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_environmentObject

load configs from environment



34
35
36
37
38
39
40
41
# 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