1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- module Sessions::CacheIn
- @@data = {}
- @@data_time = {}
- @@expires_in = {}
- @@expires_in_ttl = {}
- def self.set( key, value, params = {} )
- 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 = {} )
-
- return true if !@@data.include? key
-
- return false if params[:ignore_expire]
-
- if params[:re_expire]
- if @@expires_in[key]
- @@expires_in[key] = Time.now + @@expires_in_ttl[key]
- end
- return false
- end
-
- if @@expires_in[key]
- return true if @@expires_in[key] < Time.now
- return false
- end
-
- return false
- end
- def self.get_time( key, params = {} )
- data = self.get( key, params )
- if data
- return @@data_time[key]
- end
- return nil
- end
- def self.get( key, params = {} )
- return if self.expired( key, params )
- @@data[ key ]
- end
- end
|