文字列を渡す関数と、それを正規表現として使用するオプションがあります
def regexp_this?(string, arg1, arg2, regx = false)
if regx
method1 %r{#{string}:someconstantstring}
method2 %r{#{string}:someconstantstring:#{arg1}}
method3 %r{#{string}:someconstantstring:#{arg1}:anotherconstant:#{#arg2}}
else
method1 "#{string}:someconstantstring"
method2 "#{string}:someconstantstring:#{arg1}"
method3 "#{string}:someconstantstring:#{arg1}:anotherconstant:#{#arg2}"
end
end
method1
、method2
およびmethod3
はexpire_fragmentの呼び出しです。ページの現在の状態に基づいてキャッシュを構築しています。arg1またはarg2が宣言されているかどうかにかかわらず、期限切れにする必要のある異なるキャッシュキーがあります。
これをリファクタリングする方法はありますか?