Created
November 17, 2011 03:32
-
-
Save JangoSteve/1372299 to your computer and use it in GitHub Desktop.
Revisions
-
JangoSteve revised this gist
Nov 17, 2011 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -16,7 +16,7 @@ namespace :pages do task :cache => :environment do # First, let's instantiate a new session so we can `get` our paths, # just like if we were writing an integration test app = ActionDispatch::Integration::Session.new(Rails.application) # Now, we'll loop through each path we want to cache -
JangoSteve revised this gist
Nov 17, 2011 . No changes.There are no files selected for viewing
-
JangoSteve revised this gist
Nov 17, 2011 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,7 +15,8 @@ namespace :pages do desc "Cache ALL the pages!" task :cache => :environment do # First, let's instantiate a new session so we can `get` our paths, #just like if we were writing an integration test app = ActionDispatch::Integration::Session.new(Rails.application) # Now, we'll loop through each path we want to cache -
JangoSteve revised this gist
Nov 17, 2011 . 1 changed file with 13 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,12 +14,21 @@ namespace :pages do desc "Cache ALL the pages!" task :cache => :environment do # First, let's instantiate a new session so we can `get` our paths, just like if we were writing an integration test app = ActionDispatch::Integration::Session.new(Rails.application) # Now, we'll loop through each path we want to cache %w( /index /about /contact /products /products/cool_thing /products/other_cool_thing ).each do |path| # Get the path app.get path # Let's figure out the file path/name to which we're saving the file file_path = "/cache/#{path.gsub('/', '_')[1,path.length]}" # And now let's cache the response body HTML, using the ActionController's ApplicationController.cache_page(app.response.body, file_path) end end end -
JangoSteve revised this gist
Nov 17, 2011 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -19,7 +19,7 @@ namespace :pages do app.get path # Optionally, save all html pages in the same flat directory (/public/cache), by uncommenting this: # path = "/cache/#{path.gsub('/', '_')[1,path.length]}" ActionController::Base.cache_page(app.response.body, path) end end end -
JangoSteve created this gist
Nov 17, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,25 @@ # See rails source: # https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/caching/pages.rb # # Turn on caching in development, by changing this line to true in config/environments/development.rb: # # config.action_controller.perform_caching = true # # Then run: # # bundle exec rake pages:cache # # All cached pages will be in /public/path_name/xxxx.html namespace :pages do desc "Cache ALL the pages!" task :cache => :environment do app = ActionDispatch::Integration::Session.new(Rails.application) %w( / /about /contact /products /products/cool_thing /products/other_cool_thing ).each do |path| app.get path # Optionally, save all html pages in the same flat directory (/public/cache), by uncommenting this: # path = "/cache/#{path.gsub('/', '_')[1,path.length]}" ApplicationController.cache_page(app.response.body, path) end end end