require 'aws-sdk'
require 'active_support/all'

module JamRuby
  class S3Util
    @@def_opts = { :expires => 3600 * 24, :secure => true } # 24 hours from now
    @@s3 = AWS::S3.new(:access_key_id => ENV['AWS_KEY'], :secret_access_key => ENV['AWS_SECRET'])

    def self.sign_url(bucket, path, options = @@def_opts)
      bucket_gen = @@s3.buckets[bucket]
      "#{bucket_gen.objects[path].url_for(:read, options).to_s}"
    end

    def self.url(aws_bucket, filename, options = @@def_opts)
      "http#{options[:secure] ? "s" : ""}://s3.amazonaws.com/#{aws_bucket}/#{filename}"
    end

    def self.move(aws_bucket, source, destination)
      @@s3.buckets[aws_bucket].objects[source].move_to[destination]
    end

    def self.delete(aws_bucket, path)
      @@s3.buckets[aws_bucket].objects[path].delete()
    end
  end
end

