Sha256: 58a7e3373f4fd93021504b92df6a09ea5ab395f6f8ce7cf8686f75a47aa7a8a3

Contents?: true

Size: 671 Bytes

Versions: 8

Compression:

Stored size: 671 Bytes

Contents

module Backy
  class S3Save
    include S3

    DEFAULT_EXPIRE_AFTER = 1.month

    def initialize(file_name:, key: nil, expire_after: nil)
      @file_name = file_name
      @key = key || file_name
      @expires = (expire_after || DEFAULT_EXPIRE_AFTER).from_now
    end

    def call
      print "Sending #{file_name} to S3 ... "

      unless File.exist?(file_name)
        puts "error. #{file_name} does not exist"

        return
      end

      File.open(file_name, "rb") do |body|
        s3.put_object(key: key, body: body, bucket: bucket, expires: expires)
      end

      puts "done"
    end

    private

    attr_reader :file_name, :key, :expires
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
backy_rb-0.2.1 lib/backy/s3_save.rb
backy_rb-0.2.0 lib/backy/s3_save.rb
backy_rb-0.1.8 lib/backy/s3_save.rb
backy_rb-0.1.7 lib/backy/s3_save.rb
backy_rb-0.1.6 lib/backy/s3_save.rb
backy_rb-0.1.5 lib/backy/s3_save.rb
backy_rb-0.1.4 lib/backy/s3_save.rb
backy_rb-0.1.3 lib/backy/s3_save.rb