Mercurial > rsstweet
annotate app/controllers/tweets_controller.rb @ 250:be0b78fb5f57
Link to original tweet in tweet header
Otherwise there's no link for quote retweets.
author | nanaya <me@nanaya.net> |
---|---|
date | Mon, 17 Jul 2023 20:45:24 +0900 |
parents | 4222343d9433 |
children | e2150dce4e90 |
rev | line source |
---|---|
15 | 1 class TweetsController < ApplicationController |
38
9e03bbbb1d43
Move static#index to tweet#index.
edogawaconan <me@myconan.net>
parents:
28
diff
changeset
|
2 def index |
234 | 3 return redirect if params[:name].present? |
38
9e03bbbb1d43
Move static#index to tweet#index.
edogawaconan <me@myconan.net>
parents:
28
diff
changeset
|
4 end |
9e03bbbb1d43
Move static#index to tweet#index.
edogawaconan <me@myconan.net>
parents:
28
diff
changeset
|
5 |
15 | 6 def show |
233 | 7 return redirect if params[:id][/\D/].present? |
165 | 8 |
234 | 9 @user = CachedFetch.user_by_id params[:id] |
10 | |
11 if @user.nil? | |
12 head :not_found | |
13 return | |
14 end | |
165 | 15 |
235 | 16 if @user[:protected] |
17 head :forbidden | |
18 return | |
19 end | |
20 | |
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
21 return redirect if normalized_screen_name != params[:name] |
165 | 22 |
234 | 23 @tweets = CachedFetch.timeline params[:id] |
24 | |
25 head :not_found if @tweets.nil? | |
15 | 26 end |
55
8f68ca606099
Add twitter id to the url so it'll be consistent.
nanaya <me@myconan.net>
parents:
48
diff
changeset
|
27 |
165 | 28 def redirect |
234 | 29 @user ||= CachedFetch.user_by_username(params[:name]) |
30 | |
31 if @user.nil? | |
32 head :not_found | |
33 else | |
34 redirect_to tweet_path(@user[:id], normalized_screen_name) | |
35 end | |
55
8f68ca606099
Add twitter id to the url so it'll be consistent.
nanaya <me@myconan.net>
parents:
48
diff
changeset
|
36 end |
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
37 |
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
38 private |
205 | 39 |
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
40 def normalized_screen_name |
234 | 41 @user[:username].presence || '_' |
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
42 end |
15 | 43 end |