/usr/lib/ruby/vendor_ruby/locale_rails/action_controller/caching.rb is in ruby-locale-rails 2.0.5-7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | =begin
lib/locale_rails/action_controller.rb - Ruby/Locale for "Ruby on Rails"
Copyright (C) 2008-2009 Masao Mutoh
You may redistribute it and/or modify it under the same
license terms as Ruby or LGPL.
=end
require 'action_controller/caching'
module ActionController #:nodoc:
module Caching
module Fragments
@@fragmented_locales = []
def fragment_cache_key_with_locale(name)
ret = fragment_cache_key_without_locale(name)
if ret.is_a? String
unless @@fragmented_locales.include? I18n.locale
@@fragmented_locales << I18n.locale
end
ret.gsub(/:/, ".") << "_#{I18n.locale}"
else
ret
end
end
alias_method_chain :fragment_cache_key, :locale
def expire_fragment_with_locale(name, options = nil)
return unless perform_caching
fc_store = (respond_to? :cache_store) ? cache_store : fragment_cache_store
key = name.is_a?(Regexp) ? name : fragment_cache_key_without_locale(name)
if key.is_a?(Regexp)
self.class.benchmark "Expired fragments matching: #{key.source}" do
fc_store.delete_matched(key, options)
end
else
key = key.gsub(/:/, ".")
self.class.benchmark "Expired fragment: #{key}, lang = #{@@fragmented_locales}" do
@@fragmented_locales.each do |lang|
fc_store.delete("#{key}_#{lang}", options)
end
end
end
end
alias_method_chain :expire_fragment, :locale
end
end
end
|