master
 1Cake::Application.routes.draw do
 2  default_url_options(Rails.application.config.action_mailer.default_url_options)
 3
 4  get "about_us" => "home#about_us"
 5  get "why_cakeside" => "home#why_cakeside"
 6
 7  resources :tutorials, only: [:index, :show] do
 8    get 'page/:page', action: :index, on: :collection
 9  end
10  resources :tutorial_tags, only: [:show], path: :tt do
11    member do
12      get 'page/:page', action: :show
13    end
14  end
15
16  resources :cakes, only: [:index, :show], path: :cakes do
17    resources :favorites, only: [:create]
18    get 'page/:page', action: :index, on: :collection, as: :paginate
19    collection do
20      get :newest, action: 'index', sort: 'newest'
21      get :oldest, action: 'index', sort: 'oldest'
22    end
23  end
24  get '/categories/:category', to: 'cakes#index', as: :category
25  get '/categories/:category/page/:page', to: 'cakes#index'
26  get '/creations' => redirect('/cakes')
27  get 'creations/:id', to: redirect('/cakes/%{id}')
28  get 'creations/:id/favorites', to: redirect('/cakes/%{id}/favorites')
29  get 'creations/page/:page', to: redirect('/cakes/page/%{page}')
30  get 't' => 'cakes#index'
31  get 't/:tags' => 'cakes#index', as: :creation_tag
32  get 't/:tags/page:page' => 'cakes#index'
33  get 'tags/:tags' => 'cakes#index'
34
35  resources :products, only: [:index, :show]
36
37  resources :profiles, only: [:index, :show] do
38    get 'page/:page', action: :index, on: :collection, as: :paginate
39  end
40
41
42  resources :sessions, only: [:new, :create, :destroy]
43  get "login" => "sessions#new"
44  delete "logout" => "sessions#destroy", id: "me"
45
46  # /search
47  get "search" => 'search#index'
48
49  resources :passwords, only: [:new, :create, :edit, :update]
50  resource :registration, only: [:create]
51
52  # sitemap
53  get "/sitemap.xml", to: "sitemap#index", defaults: { format: :xml }
54
55  root to: "cakes#index"
56
57  namespace :api, defaults: { :format => 'json' }  do
58    namespace :v1 do
59      resources :cakes, only: [:index, :show, :create, :update, :destroy] do
60        resources :photos, only: [:index, :show, :create]
61      end
62      resources :categories, only: [:index]
63      resources :tutorials, only: [:index, :create]
64      resources :profiles, only: [:show, :update]
65      resources :logins, only: [:create]
66    end
67    namespace :v2 do
68      resources :cakes, only: [:index, :show]
69      resources :photos, only: [:index, :show]
70      resources :users, only: [:index, :show]
71      resources :categories, only: [:index, :show]
72      resources :tutorials, only: [:index, :show]
73    end
74  end
75
76  namespace :admin do
77    root to: "users#index"
78    resources :activities, only: [:index]
79    resources :errors, only: [:index, :create]
80    resources :jobs, only: [:index, :show, :update, :destroy]
81    resources :photos, only: [:index, :show, :update]
82    resources :products, only: [:index, :show, :create]
83    resources :sessions, only: [:index, :destroy]
84    resources :users, only: [:index, :show, :update]
85  end
86
87  namespace :my do
88    get 'dashboard', to: 'dashboard#index'
89    resources :cakes, only: [:index]
90    resources :favorites, only: [:index]
91    resources :settings, only: [:index, :update]
92    resources :passwords, only: [:index, :update]
93    resources :avatars, only: [:new, :create]
94    resource :kitchen, only: [:show]
95    root to: "kitchens#show"
96  end
97end