XXX: these methods should in oauth_rubytter
# File lib/termtter/rubytter_proxy.rb, line 172 def access_token @rubytter.instance_variable_get(:@access_token) end
# File lib/plugins/mongo.rb, line 104 def cached_status(status_id) status = Termtter::Client.memory_cache.get(['status', status_id].join('-')) status ||= Termtter::Client.mongo_db.collection('status').find_one({'id' => status_id.to_i}) Termtter::ActiveRubytter.new(status) if status end
# File lib/termtter/rubytter_proxy.rb, line 89 def cached_user(screen_name_or_id) user = Termtter::Client.memory_cache.get(['user', Termtter::Client.normalize_as_user_name(screen_name_or_id.to_s)].join('-')) ActiveRubytter.new(user) if user end
# File lib/termtter/rubytter_proxy.rb, line 64 def call_rubytter_or_use_cache(method, *args, &block) case method when :show unless status = cached_status(args[0]) status = call_rubytter(method, *args, &block) store_status_cache(status) end status when :user unless user = cached_user(args[0]) user = call_rubytter(method, *args, &block) store_user_cache(user) end user when :home_timeline, :user_timeline, :friends_timeline, :search statuses = call_rubytter(method, *args, &block) statuses.each do |status| store_status_cache(status) end statuses else call_rubytter(method, *args, &block) end end
# File lib/plugins/list_switch.rb, line 21 def call_rubytter_with_list_switch(method, *args, &block) Termtter::Plugins::ListSwitch.call_rubytter(self, method, *args, &block) end
# File lib/termtter/rubytter_proxy.rb, line 176 def consumer_token access_token.consumer end
# File lib/termtter/rubytter_proxy.rb, line 119 def current_limit @limit_manager ||= LimitManager.new(@rubytter) end
# File lib/plugins/whale.rb, line 5 def error_html_message_whale(e) if %Twitter / Over capacity' =~ e.message WHALE else error_html_message_orig(e) end end
# File lib/termtter/rubytter_proxy.rb, line 24 def method_missing(method, *args, &block) if @rubytter.respond_to?(method) result = nil begin modified_args = args hooks = self.class.get_hooks("pre_#{method}") hooks.each do |hook| modified_args = hook.call(*modified_args) end from = Time.now if Termtter::Client.logger.debug? Termtter::Client.logger.debug { "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]})" } result = call_rubytter_or_use_cache(method, *modified_args, &block) Termtter::Client.logger.debug { "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}), " + "%.2fsec" % (Time.now - from) } self.class.call_hooks("post_#{method}", *args) rescue HookCanceled rescue TimeoutError => e Termtter::Client.logger.debug { "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) " + "#{e.message} #{'%.2fsec' % (Time.now - from)}" } raise e rescue => e Termtter::Client.logger.debug { "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) #{e.message}" } raise e end result else super end end
# File lib/termtter/rubytter_proxy.rb, line 110 def safe new_instance = self.class.new(@rubytter) new_instance.safe_mode = true self.instance_variables.each{ |v| new_instance.instance_variable_set(v, self.instance_variable_get(v)) } new_instance end
# File lib/termtter/rubytter_proxy.rb, line 99 def store_status_cache(status) Termtter::Client.memory_cache.set(['status', status.id].join('-'), status.to_hash, 3600 * 24 * 14) store_user_cache(status.user) end
# File lib/termtter/rubytter_proxy.rb, line 104 def store_user_cache(user) Termtter::Client.memory_cache.set(['user', user.id.to_i].join('-'), user.to_hash, 3600 * 24) Termtter::Client.memory_cache.set(['user', Termtter::Client.normalize_as_user_name(user.screen_name)].join('-'), user.to_hash, 3600 * 24) end
Generated with the Darkfish Rdoc Generator 2.