diff options
author | rhenium <re4k@re4k.info> | 2013-05-20 00:42:24 +0900 |
---|---|---|
committer | rhenium <re4k@re4k.info> | 2013-05-20 00:42:24 +0900 |
commit | 1aede390bc4f6ecbd81a5a4d354e8ac25b3435c3 (patch) | |
tree | 05c4ffec473438edf7b68e38a0e625405bea0cd5 /config/routes.rb | |
parent | 5b9d40d75e7442fb81d503724b5eb67199cdde54 (diff) | |
download | aclog-1aede390bc4f6ecbd81a5a4d354e8ac25b3435c3.tar.gz |
support RSS
Diffstat (limited to 'config/routes.rb')
-rw-r--r-- | config/routes.rb | 75 |
1 files changed, 25 insertions, 50 deletions
diff --git a/config/routes.rb b/config/routes.rb index 4b60c83..6d56bd3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,14 @@ Aclog::Application.routes.draw do root to: "about#index" - scope format: false do + # JSON + scope "api", format: "json" do + get "/users/:action", controller: "users" + get "/tweets/:action", controller: "tweets" + end + + # HTML only pages + scope format: "html" do get "/search" => "search#search", as: "search" # Internals / SessionsController @@ -13,52 +20,34 @@ Aclog::Application.routes.draw do get "/i/report" => "report#index", as: "report" post "/i/report/tweet" => "report#tweet" + get "/i/:id" => "tweets#show", as: "tweet", constraints: {id: /\d+/} + scope "about", controller: "about" do get "/", action: "about", as: "about" get "/api", action: "api", as: "about_api" end - # /i/ - scope :i, controller: :tweets do - get "/best", action: "all_best", as: "best" - get "/recent", action: "all_recent", as: "recent" - get "/timeline", action: "all_timeline", as: "timeline" - get "/:id", action: "show", as: "tweet" - end - - # JSON API - scope "api", format: "json" do - get "/users/:action", controller: "users" - get "/tweets/:action", controller: "tweets" - end - - # Favstar redirects - get "(/users)/:screen_name/status(es)/:id" => redirect("/i/%{id}") - scope "users/:screen_name" do - get "/" => redirect("/%{screen_name}") - get "/most_favorited" => redirect("/%{screen_name}/favorited") - get "/most_retweeted" => redirect("/%{screen_name}/retweeted") - get "/discovered" => redirect("/%{screen_name}/discoveries") - get "/favorited" => redirect("/%{screen_name}/favorites") - get "/given" => redirect("/%{screen_name}/favorites") - get "/retweeted" => redirect("/%{screen_name}/retweets") - get "/recent" => redirect("/%{screen_name}/timeline") - get "/favs_from" => redirect("/%{screen_name}/discovered_by") - get "/retweeted_by" => redirect("/%{screen_name}/discovered_by") - get "/favs_from/:screen_name_b" => redirect("/%{screen_name}/discovered_by/%{screen_name_b}") - get "/retweeted_by/:screen_name_b" => redirect("/%{screen_name}/discovered_by/%{screen_name_b}") - get "/given_to" => redirect("/%{screen_name}/discovered_users") - get "/given_to/:screen_name_b" => redirect("/%{screen_name_b}/discovered_by/%{screen_name}") - end - - # User pages. + # User pages scope ":screen_name", controller: "users" do get "/stats", action: "stats", as: "user_stats" get "/discovered_by", action: "discovered_by", as: "user_discovered_by" get "/discovered_users", action: "discovered_users", as: "user_discovered_users" end - scope ":screen_name", controller: "tweets" do + # Twitter redirect + get "/:screen_name/status(es)/:id" => redirect("/i/%{id}") + end + + # HTML or RSS + scope controller: "tweets", constraints: {format: /(html|rss)/} do + scope "i" do + get "/best", action: "all_best", as: "best" + get "/recent", action: "all_recent", as: "recent" + get "/timeline", action: "all_timeline", as: "timeline" + end + + # TweetController / Tweets + scope ":screen_name" do get "/", action: "best", as: "user_best" get "/favorited", action: "favorited", as: "user_favorited" get "/retweeted", action: "retweeted", as: "user_retweeted" @@ -69,20 +58,6 @@ Aclog::Application.routes.draw do get "/retweets", action: "retweets", as: "user_retweets" get "/discovered_by/:screen_name_b", action: "discovered_by", as: "user_discovered_by_user" end - - # Old URLs - scope ":screen_name" do - get "/discovered" => redirect("/%{screen_name}/discoveries") - get "/info" => redirect("/%{screen_name}/stats") - get "/favorited_by" => redirect("/%{screen_name}/discovered_by") - get "/retweeted_by" => redirect("/%{screen_name}/discovered_by") - get "/favorited_by/:screen_name_b" => redirect("/%{screen_name}/discovered_by/%{screen_name_b}") - get "/retweeted_by/:screen_name_b" => redirect("/%{screen_name}/discovered_by/%{screen_name_b}") - get "/given_favorites_to" => redirect("/%{screen_name}/discovered_user") - get "/given_retweets_to" => redirect("/%{screen_name}/discovered_user") - get "/given_favorites_to/:screen_name_b" => redirect("/%{screen_name_b}/discovered_by/%{screen_name}") - get "/given_retweets_to/:screen_name_b" => redirect("/%{screen_name_b}/discovered_by/%{screen_name}") - end end end |