Sha256: d49843c50da0148f955385c034d25627a71609bb93a9cdef893f5ca676119c32

Contents?: true

Size: 1.31 KB

Versions: 27

Compression:

Stored size: 1.31 KB

Contents

# @private Inner workings of Ticket
module TicketService
# @private Inner workings of Ticket
module Img
  
  # Removes image data and references. Image is removed with
  # its ID which is the same as its URI.
  def del_img( img_id, ses_id=false )
    if ses_id and @imgs[:ses_ids].has_key?( ses_id )
      @imgs[:ses_ids][ses_id].delete( img_id ) if @imgs[:ses_ids][ses_id].include?( img_id )
    end
    @imgs[:by_id].delete( img_id ) if @imgs[:by_id].has_key?( img_id )
  end
  
  # Extends expiration time of disposable files, essentially for keep-alive
  # requests. Image URI is used as an ID and extension is given as seconds.
  def push_keepalive( img_id, keep_alive )
    expiry_time = Time.now.to_i+keep_alive
    @expires[expiry_time] = [] unless @expires.has_key?(expiry_time)
    @expires[expiry_time].push( img_id )
  end
  
  # Removes all expired images.
  def expire_keepalives
    curr_time = Time.now.to_i
    @expires.keys.sort.each do |exp_time|
      if exp_time < curr_time
        @expires[exp_time].size.times do |incr|
          img_id = @expires[exp_time].shift
          if @imgs[:by_id].has_key?(img_id)
            ses_id = @imgs[:by_id][img_id][3]
            del_img( img_id, ses_id )
          end
        end
        @expires.delete(exp_time) if @expires[exp_time].size == 0
      end
    end
  end
  
end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
rsence-pre-3.0.0.16 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.15 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.14 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.12 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.11 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.10 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.9 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.8 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.7 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.6 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.5 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.4 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.3 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.2 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.1 plugins/ticket/lib/img.rb
rsence-pre-3.0.0.0 plugins/ticket/lib/img.rb
rsence-pre-2.3.0.26 plugins/ticket/lib/img.rb
rsence-pre-2.3.0.25 plugins/ticket/lib/img.rb
rsence-pre-2.3.0.24 plugins/ticket/lib/img.rb
rsence-pre-2.3.0.23 plugins/ticket/lib/img.rb