Sha256: edd220fa3c1737d298756d8a41ae1694ec7f3f7367542138182a71ec1240e206

Contents?: true

Size: 691 Bytes

Versions: 2

Compression:

Stored size: 691 Bytes

Contents

module S3Antivirus
  class S3Record
    include Conf

    def initialize(record)
      @record = record # record data from SQS event structure
    end

    def human_key
      text = "s3://#{bucket}/#{key}"
      text += " (version: #{version})" if version
      text
    end

    def bucket
      @record['s3']['bucket']['name']
    end

    def key
      URI.decode(@record['s3']['object']['key']).gsub('+', ' ')
    end

    def version
      @record['s3']['object']['versionId']
    end

    def oversized?
      size > max_size
    end

    def size
      @record['s3']['object']['size']
    end

    def max_size
      conf['volume_size'] * 1073741824 / 2 # in bytes
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
s3-antivirus-0.2.0 lib/s3_antivirus/s3_record.rb
s3-antivirus-0.1.0 lib/s3_antivirus/s3_record.rb