Sha256: a41430b8a8b9aac15ee3c95da794b97f72e0089ba61d79472b885f0e2e8a9961
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
# -*- encoding : utf-8 -*- # Class to manage Hangout information class RabbitLink < Cinch::Plugins::Rabbit attr_accessor :nick, :id, :time, :file FILENAME = ENV['RABBIT_LINKS_FILE'] || 'yaml/rabbit_links.yml' def initialize(nick, id, time) @nick = nick @id = id @time = time end def save storage = Cinch::Storage.new(FILENAME) storage.data ||= {} storage.data[id] = self storage.save end def self.find_by_id(id) listing[id] end def self.delete_expired(expire_time) return if listing.nil? storage = read_file storage.data.delete_if do |id, rabbit| (Time.now - rabbit.time) > (expire_time * 60) end storage.save end def self.sorted rabbits = listing.values rabbits.sort! { |x, y| y.time <=> x.time } rabbits end def self.listing read_file.data end def self.url(id) "https://rabb.it/r/#{id}" end private def self.read_file storage = Cinch::Storage.new(FILENAME) storage.data ||= {} storage.save storage end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cinch-rabbit-0.0.2 | lib/cinch/plugins/rabbit/rabbit_link.rb |