aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorrhenium <re4k@re4k.info>2013-05-20 00:42:24 +0900
committerrhenium <re4k@re4k.info>2013-05-20 00:42:24 +0900
commit1aede390bc4f6ecbd81a5a4d354e8ac25b3435c3 (patch)
tree05c4ffec473438edf7b68e38a0e625405bea0cd5 /config
parent5b9d40d75e7442fb81d503724b5eb67199cdde54 (diff)
downloadaclog-1aede390bc4f6ecbd81a5a4d354e8ac25b3435c3.tar.gz
support RSS
Diffstat (limited to 'config')
-rw-r--r--config/routes.rb75
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