Sha256: f6d8bcedd326b490945b0f5f62dc3224867db1187edebe0c41e6e68d642f212a

Contents?: true

Size: 769 Bytes

Versions: 6

Compression:

Stored size: 769 Bytes

Contents

module Alblogs
  class S3File
    MINUTES_5 = 5 * 60

    attr_reader :file,
                :file_size,
                :last_modified_at

    def initialize(file, file_size, last_modified_at)
      @file = file
      @file_size = file_size
      @last_modified_at = last_modified_at
    end

    def end_time
      @end_time ||=
        begin
          unless @file =~ /_(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})Z_/
            raise("unable to find time stamp in #{@file}")
          end
          Time.new($1, $2, $3, $4, $5, 0, 0)
        end
    end

    def start_time
      @start_time ||= (end_time - MINUTES_5)
    end

    def in_range?(range)
      return false if end_time < range.begin
      return false if start_time > range.end
      true
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
alblogs-0.2.0 lib/alblogs/s3_file.rb
alblogs-0.1.8 lib/alblogs/s3_file.rb
alblogs-0.1.7 lib/alblogs/s3_file.rb
alblogs-0.1.4 lib/alblogs/s3_file.rb
alblogs-0.1.2 lib/alblogs/s3_file.rb
alblogs-0.1.0 lib/alblogs/s3_file.rb