# HG changeset patch # User nanaya # Date 1469647547 -32400 # Node ID 148d8c17cb79e2405bfb65aad79af226e3bc13bb # Parent dfd7daac110e7b61ce265b7afdb36cedc780db97 Less monkeypatching rails, more monkeypatching tweet diff -r dfd7daac110e -r 148d8c17cb79 app/views/tweets/show.atom.erb --- a/app/views/tweets/show.atom.erb Thu Jul 28 03:56:56 2016 +0900 +++ b/app/views/tweets/show.atom.erb Thu Jul 28 04:25:47 2016 +0900 @@ -12,5 +12,5 @@ <%= @tweets.first.try(:created_at) || Time.at(0) %> - <%= render :partial => "tweet", :collection => @tweets, :cached => ->(f) { f.id } %> + <%= render :partial => "tweet", :collection => @tweets, :cached => true %> diff -r dfd7daac110e -r 148d8c17cb79 config/initializers/monkeypatch_collection_cache_key_callable.rb --- a/config/initializers/monkeypatch_collection_cache_key_callable.rb Thu Jul 28 03:56:56 2016 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -# stolen from https://github.com/rails/rails/pull/25616 - -if Gem::Version.new(Rails.version) >= Gem::Version.new("5.1.0") - raise "remove this monkey patch!" -end - -module ActionView::CollectionCaching - private def collection_by_cache_keys - seed = - if @options[:cached].respond_to?(:call) - @options[:cached] - else - ->(i) { i } - end - - @collection.each_with_object({}) do |item, hash| - hash[expanded_cache_key(seed.call(item))] = item - end - end -end diff -r dfd7daac110e -r 148d8c17cb79 config/initializers/twitter_tweet_cache_key.rb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/initializers/twitter_tweet_cache_key.rb Thu Jul 28 04:25:47 2016 +0900 @@ -0,0 +1,5 @@ +class Twitter::Tweet + def cache_key + "twitter/tweet/#{id}" + end +end