class FeedTorrents::Store
Public Instance Methods
persist(item)
click to toggle source
# File lib/feed_torrents/store.rb, line 16 def persist(item) pstore.transaction { pstore[item] = Time.now.to_i } end
present?(item)
click to toggle source
# File lib/feed_torrents/store.rb, line 12 def present?(item) pstore.transaction(true) { return !!pstore[item] } end
prune()
click to toggle source
# File lib/feed_torrents/store.rb, line 20 def prune prune_count = 0 pstore.transaction do pstore.roots.each do |item| if outdated?(item) pstore.delete(item) prune_count += 1 end end end if prune_count > 0 info "Pruned #{prune_count} items" end end
Private Instance Methods
outdated?(time)
click to toggle source
# File lib/feed_torrents/store.rb, line 47 def outdated?(time) (Time.now.to_i - time.to_i < 7776000) # older than 90 days is outdated end
pstore()
click to toggle source
# File lib/feed_torrents/store.rb, line 39 def pstore @pstore ||= PStore.new(pstore_file) end
pstore_file()
click to toggle source
# File lib/feed_torrents/store.rb, line 43 def pstore_file File.expand_path(FeedTorrents.configuration.datastore) end