Sha256: 70195c6500f554e0849221db74ab96290bc0cb9d26027be37f6860b5fbc08bcc

Contents?: true

Size: 565 Bytes

Versions: 1

Compression:

Stored size: 565 Bytes

Contents

require "tempfile"
require "fileutils"
require "delegate"

module SocialAvatarProxy
  class AvatarFile < SimpleDelegator
    attr_reader :file

    def initialize(path, options = {})
      if File.exist?(path)
        @file = File.new(path)
        mtime(file.mtime)
      else
        @file = Tempfile.new(path.gsub("/", "-"), options)
      end
      super(file)
    end

    def mtime(value = nil)
      value ? @mtime = value.to_i : Time.at(@mtime)
    end

    def content_type(value = nil)
      value ? @content_type = value : @content_type
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
social-avatar-proxy-2.0.1 lib/social_avatar_proxy/avatar_file.rb