Class: PublicSuffixList::CacheFile
- Inherits:
-
Object
- Object
- PublicSuffixList::CacheFile
- Defined in:
- lib/public_suffix_list/cache_file.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #cache? ⇒ Boolean
- #data ⇒ Object
- #data=(data) ⇒ Object
- #delete ⇒ Object
- #dump_data ⇒ Object
- #exist? ⇒ Boolean
- #expired? ⇒ Boolean
- #file ⇒ Object
-
#initialize(config) ⇒ CacheFile
constructor
A new instance of CacheFile.
- #load_data ⇒ Object
Constructor Details
#initialize(config) ⇒ CacheFile
Returns a new instance of CacheFile.
5 6 7 |
# File 'lib/public_suffix_list/cache_file.rb', line 5 def initialize(config) @config = config end |
Instance Method Details
#[](key) ⇒ Object
41 42 43 |
# File 'lib/public_suffix_list/cache_file.rb', line 41 def [](key) data[key] end |
#[]=(key, value) ⇒ Object
45 46 47 |
# File 'lib/public_suffix_list/cache_file.rb', line 45 def []=(key, value) data[key] = value and dump_data end |
#cache? ⇒ Boolean
9 10 11 |
# File 'lib/public_suffix_list/cache_file.rb', line 9 def cache? @config.cache_dir && File.directory?(@config.cache_dir) && true end |
#data ⇒ Object
33 34 35 |
# File 'lib/public_suffix_list/cache_file.rb', line 33 def data @data or (load_data and @data) or @data = {:created_at => Time.now, :tag => rand(36**8).to_s(36)} end |
#data=(data) ⇒ Object
37 38 39 |
# File 'lib/public_suffix_list/cache_file.rb', line 37 def data=(data) @data = data and dump_data end |
#delete ⇒ Object
21 22 23 |
# File 'lib/public_suffix_list/cache_file.rb', line 21 def delete File.delete(file) if exist? end |
#dump_data ⇒ Object
29 30 31 |
# File 'lib/public_suffix_list/cache_file.rb', line 29 def dump_data open(file, "w") { |f| Marshal.dump(@data, f) } if cache? end |
#exist? ⇒ Boolean
17 18 19 |
# File 'lib/public_suffix_list/cache_file.rb', line 17 def exist? File.exist?(file) if cache? end |
#expired? ⇒ Boolean
49 50 51 |
# File 'lib/public_suffix_list/cache_file.rb', line 49 def expired? !cache? or !([0, nil].include?(@config.cache_expiry_period) or data[:created_at] + @config.cache_expiry_period > Time.now) end |
#file ⇒ Object
13 14 15 |
# File 'lib/public_suffix_list/cache_file.rb', line 13 def file File.join(@config.cache_dir, URI.parse(@config.url).path.split("/").last + ".cache") if cache? end |
#load_data ⇒ Object
25 26 27 |
# File 'lib/public_suffix_list/cache_file.rb', line 25 def load_data open(file, "r") { |f| @data = Marshal.load(f) } if exist? end |