@@ -51,46 +51,7 @@ def index
5151 end
5252 end
5353
54- def topic
55- topic_name = params [ 'topic' ]
56-
57- if not [ 'hacktoberfest' ] . include? ( topic_name )
58- redirect_back fallback_location : root_path
59- return
60- end
61-
62- set_title ( "Open Source Project Topic: #{ topic_name } " )
63- set_description ( description )
64-
65- label = Label . find_by ( name : topic_name )
66-
67- @repos = Repo . with_some_issues
68- . includes ( :repo_labels )
69- . where ( repo_labels : { label_id : label . id } )
70- . select ( :id , :updated_at , :issues_count , :language , :full_name , :name , :description )
71-
72- topic_repo_ids = @repos . map { |repo | repo . id }
73-
74- @repos = @repos . without_user_subscriptions ( current_user . id ) if user_signed_in?
75- @repos = @repos . order_by_issue_count . page ( valid_params [ :page ] ) . per_page ( valid_params [ :per_page ] || 50 )
76-
77- if user_signed_in?
78- @repos_subs = current_user . repo_subscriptions . page ( valid_params [ :page ] ) . per_page ( valid_params [ :per_page ] || 50 ) . includes ( :repo )
79- @repos_subs = @repos_subs . where ( repo_id : topic_repo_ids )
80- end
81-
82- respond_to do |format |
83- format . html { }
84- format . json do
85- htmlForPage = render_to_string ( partial : "repos_with_pagination" , locals : { repos : @repos } , formats : [ 'html' ] )
86- render json : { html : htmlForPage } . to_json
87- end
88- end
89- end
90-
91- private
92-
93- def description
54+ private def description
9455 Rails . cache . fetch ( "pages#index/description" , expires_in : 1 . hour ) do
9556 "Discover the easiest way to get started contributing to open source. " \
9657 "Over #{ number_with_delimiter ( User . count , delimiter : ',' ) } devs are " \
@@ -99,11 +60,11 @@ def description
9960 end
10061 end
10162
102- def valid_params
63+ private def valid_params
10364 params . permit ( :language , :per_page , :page )
10465 end
10566
106- def set_cache_headers
67+ private def set_cache_headers
10768 response . headers [ "Cache-Control" ] = "no-cache, no-store"
10869 response . headers [ "Pragma" ] = "no-cache"
10970 response . headers [ "Expires" ] = "Fri, 01 Jan 1990 00:00:00 GMT"
0 commit comments