12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- module Sessions::CacheIn
- @@data = {}
- @@data_time = {}
- @@expires_in = {}
- @@expires_in_ttl = {}
- def self.delete( key )
- @@data.delete( key )
- @@data_time.delete( key )
- end
- def self.set( key, value, params = {} )
- # puts 'CacheIn.set:' + key + '-' + value.inspect
- if params[:expires_in]
- @@expires_in[key] = Time.now + params[:expires_in]
- @@expires_in_ttl[key] = params[:expires_in]
- end
- @@data[ key ] = value
- @@data_time[ key ] = Time.now
- end
- def self.expired( key, params = {} )
- # expire if value never was set
- return true if !@@data.include? key
- # ignore_expire
- return false if params[:ignore_expire]
- # set re_expire
- if params[:re_expire]
- if @@expires_in[key]
- @@expires_in[key] = Time.now + @@expires_in_ttl[key]
- end
- return false
- end
- # check if expired
- if @@expires_in[key]
- return true if @@expires_in[key] < Time.now
- return false
- end
- # return false if key was set without expires_in
- false
- end
- def self.get_time( key, params = {} )
- data = self.get( key, params )
- if data
- return @@data_time[key]
- end
- nil
- end
- def self.get( key, params = {} )
- # puts 'CacheIn.get:' + key + '-' + @@data[ key ].inspect
- return if self.expired( key, params )
- @@data[ key ]
- end
- end
|