class PublicSuffixList::CacheFile
Public Class Methods
new(config)
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 6 def initialize(config) @config = config @data = {} end
Public Instance Methods
[](key)
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 41 def [](key) data[key] end
[]=(key, value)
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 45 def []=(key, value) data.merge!({key => value, created_at: Time.now, tag: rand(2821109907456).to_s(36)}) and dump_data end
cache?()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 11 def cache? @config.cache_dir && File.directory?(@config.cache_dir) && true || false end
data()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 36 def data @data.empty? and load_data @data end
delete()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 24 def delete File.delete(file) if exist? end
dump_data()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 32 def dump_data open(file, "w") { |f| Marshal.dump(@data, f) } if cache? end
exist?()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 20 def exist? cache? && File.exist?(file) && true || false end
expired?()
click to toggle source
# 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()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 15 def file path = URI.parse(@config.url)&.path&.split("/")&.last || "" File.join(@config.cache_dir, path + ".cache") end
load_data()
click to toggle source
# File lib/public_suffix_list/cache_file.rb, line 28 def load_data open(file, "r") { |f| @data = Marshal.load(f) } if exist? end