class S3Rails::S3

Attributes

access_key_id[RW]
bucket[RW]
bucket_name[RW]
last_load[RW]
objects[RW]
region[RW]
s3[RW]
secret_access_key[RW]

Public Class Methods

new(config_file) click to toggle source
# File lib/s3_rails/s3.rb, line 7
def initialize(config_file)
  puts Dir.pwd
  config = YAML::load(ERB.new(IO.read(config_file)).result)
  @access_key_id = config['s3_rails']['access_key_id']
  @secret_access_key = config['s3_rails']['secret_access_key']
  @bucket_name = config['s3_rails']['bucket']
  @region = config['s3_rails']['region']
  @last_load = nil

  AWS.config(access_key_id: @access_key_id, secret_access_key: @secret_access_key, region: @region)

  @s3 = AWS::S3.new
  unless @s3.buckets[ @bucket_name ].nil?
    @bucket = @s3.buckets[ @bucket_name ]
  end

  load_cache
end

Public Instance Methods

buckets() click to toggle source
# File lib/s3_rails/s3.rb, line 26
def buckets
  @s3.buckets
end
load_cache() click to toggle source
# File lib/s3_rails/s3.rb, line 30
def load_cache
  @objects = Hash[@bucket.objects.map {|o| [
      o.key,
      S3Template.new(o.key, o.read, o.last_modified, o)
    ]}]
  @last_load = Time.now
end