Sha256: b3448d3c980af4721654f4b0909dae1ce8141c50963626b9119e53848d9ad770
Contents?: true
Size: 935 Bytes
Versions: 1
Compression:
Stored size: 935 Bytes
Contents
# NOTE: It's important to cache duped objects module Earthquake module Twitter attr_reader :twitter end init do @twitter = TwitterOAuth::Client.new(config.slice(:consumer_key, :consumer_secret, :token, :secret)) filter do |item| next if item["text"].nil? || item["disable_cache"] Earthquake.cache.write("status:#{item["id"]}", item.dup, :expires_in => 1.hour.ago) end end once do class ::TwitterOAuth::Client [:status, :info].each do |m| define_method("#{m}_with_cache") do |*args| key = "#{m}:#{args.join(',')}" if result = Earthquake.cache.read(key) result.dup else result = __send__(:"#{m}_without_cache", *args) Earthquake.cache.write(key, result.dup, :expires_in => 1.hour.ago) result end end alias_method_chain m, :cache end end end extend Twitter end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
earthquake-0.4.6 | lib/earthquake/twitter.rb |