diff --git a/app/controllers/concerns/cached_publicly.rb b/app/controllers/concerns/cached_publicly.rb new file mode 100644 index 000000000..62ab23d05 --- /dev/null +++ b/app/controllers/concerns/cached_publicly.rb @@ -0,0 +1,12 @@ +module CachedPublicly + extend ActiveSupport::Concern + + included do + before_action :set_cache_headers + end + + private + def set_cache_headers + expires_in 30.seconds, public: true + end +end diff --git a/app/controllers/public/cards_controller.rb b/app/controllers/public/cards_controller.rb index 060c43871..9434882e7 100644 --- a/app/controllers/public/cards_controller.rb +++ b/app/controllers/public/cards_controller.rb @@ -1,12 +1,10 @@ class Public::CardsController < ApplicationController - include PublicCardScoped + include CachedPublicly, PublicCardScoped allow_unauthenticated_access only: :show layout "public" def show - # To enable caching at intermediate proxies during traffic spikes - expires_in 5.seconds, public: true end end diff --git a/app/controllers/public/collections/columns/closeds_controller.rb b/app/controllers/public/collections/columns/closeds_controller.rb index 2b9467504..f41e088f2 100644 --- a/app/controllers/public/collections/columns/closeds_controller.rb +++ b/app/controllers/public/collections/columns/closeds_controller.rb @@ -1,5 +1,5 @@ class Public::Collections::Columns::ClosedsController < ApplicationController - include PublicCollectionScoped + include CachedPublicly, PublicCollectionScoped allow_unauthenticated_access only: :show @@ -7,8 +7,5 @@ class Public::Collections::Columns::ClosedsController < ApplicationController def show set_page_and_extract_portion_from @collection.cards.closed.recently_closed_first - - # To enable caching at intermediate proxies during traffic spikes - expires_in 5.seconds, public: true end end diff --git a/app/controllers/public/collections/columns/not_nows_controller.rb b/app/controllers/public/collections/columns/not_nows_controller.rb index d99be125a..64382869d 100644 --- a/app/controllers/public/collections/columns/not_nows_controller.rb +++ b/app/controllers/public/collections/columns/not_nows_controller.rb @@ -1,5 +1,5 @@ class Public::Collections::Columns::NotNowsController < ApplicationController - include PublicCollectionScoped + include CachedPublicly, PublicCollectionScoped allow_unauthenticated_access only: :show @@ -7,8 +7,5 @@ class Public::Collections::Columns::NotNowsController < ApplicationController def show set_page_and_extract_portion_from @collection.cards.postponed.reverse_chronologically.with_golden_first - - # To enable caching at intermediate proxies during traffic spikes - expires_in 5.seconds, public: true end end diff --git a/app/controllers/public/collections/columns/streams_controller.rb b/app/controllers/public/collections/columns/streams_controller.rb index 904cab2e5..4a38d0d08 100644 --- a/app/controllers/public/collections/columns/streams_controller.rb +++ b/app/controllers/public/collections/columns/streams_controller.rb @@ -1,5 +1,5 @@ class Public::Collections::Columns::StreamsController < ApplicationController - include PublicCollectionScoped + include CachedPublicly, PublicCollectionScoped allow_unauthenticated_access only: :show @@ -7,8 +7,5 @@ class Public::Collections::Columns::StreamsController < ApplicationController def show set_page_and_extract_portion_from @collection.cards.awaiting_triage.by_last_activity.with_golden_first - - # To enable caching at intermediate proxies during traffic spikes - expires_in 5.seconds, public: true end end diff --git a/app/controllers/public/collections/columns_controller.rb b/app/controllers/public/collections/columns_controller.rb index bd9341234..aa905f768 100644 --- a/app/controllers/public/collections/columns_controller.rb +++ b/app/controllers/public/collections/columns_controller.rb @@ -1,5 +1,5 @@ class Public::Collections::ColumnsController < ApplicationController - include ActionView::RecordIdentifier, PublicCollectionScoped + include ActionView::RecordIdentifier, CachedPublicly, PublicCollectionScoped allow_unauthenticated_access only: :show @@ -9,9 +9,6 @@ class Public::Collections::ColumnsController < ApplicationController def show set_page_and_extract_portion_from @column.cards.active.by_last_activity.with_golden_first - - # To enable caching at intermediate proxies during traffic spikes - expires_in 5.seconds, public: true end private diff --git a/app/controllers/public/collections_controller.rb b/app/controllers/public/collections_controller.rb index 1e208f766..cf1530958 100644 --- a/app/controllers/public/collections_controller.rb +++ b/app/controllers/public/collections_controller.rb @@ -1,5 +1,5 @@ class Public::CollectionsController < ApplicationController - include PublicCollectionScoped + include CachedPublicly, PublicCollectionScoped allow_unauthenticated_access only: :show @@ -7,8 +7,5 @@ class Public::CollectionsController < ApplicationController def show set_page_and_extract_portion_from @collection.cards.awaiting_triage.by_last_activity.with_golden_first - - # To enable caching at intermediate proxies during traffic spikes - expires_in 5.seconds, public: true end end