Improve channel, user and api_key models with basic scopes, correct references and protect attributes.
Simplify channels & user controllers and models, moving code to the models. Remove catch-all route and ensure all actions are specified, fixing url paths. Change clone to dup in feed_controller as using clone seems to affect the cloned object (problem only in ruby 1.9.3?)
This commit is contained in:
12
config/initializers/wrap_parameters.rb
Normal file
12
config/initializers/wrap_parameters.rb
Normal file
@ -0,0 +1,12 @@
|
||||
# This file contains settings for ActionController::ParamsWrapper which
|
||||
# is enabled by default.
|
||||
|
||||
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
||||
ActiveSupport.on_load(:action_controller) do
|
||||
wrap_parameters format: [:json]
|
||||
end
|
||||
|
||||
# # Disable root element in JSON by default.
|
||||
# ActiveSupport.on_load(:active_record) do
|
||||
# self.include_root_in_json = false
|
||||
# end
|
@ -1,42 +1,52 @@
|
||||
Thingspeak::Application.routes.draw do
|
||||
# main data posts using this route
|
||||
match 'update', :to => 'channels#post_data', :as => 'update', :via => ((GET_SUPPORT) ? ['get', 'post'] : 'post')
|
||||
# main data posts using this route
|
||||
match 'update', :to => 'channels#post_data', :as => 'update', :via => ((GET_SUPPORT) ? ['get', 'post'] : 'post')
|
||||
|
||||
# handle subdomain routes
|
||||
match '/', :to => 'subdomains#index', :constraints => { :subdomain => 'api' }
|
||||
match 'crossdomain', :to => 'subdomains#crossdomain', :constraints => { :subdomain => 'api' }
|
||||
match 'crossdomain', :to => 'subdomains#crossdomain'
|
||||
# handle subdomain routes
|
||||
match '/', :to => 'subdomains#index', :constraints => { :subdomain => 'api' }
|
||||
match 'crossdomain', :to => 'subdomains#crossdomain', :constraints => { :subdomain => 'api' }
|
||||
match 'crossdomain', :to => 'subdomains#crossdomain'
|
||||
|
||||
root :to => 'pages#home'
|
||||
root :to => 'pages#home'
|
||||
|
||||
resource :user_session
|
||||
resource 'account', :to => 'users'
|
||||
resources :users
|
||||
resource :user_session
|
||||
resource 'account', :to => 'users'
|
||||
resources :users do
|
||||
member do
|
||||
get :reset_password
|
||||
put :change_password
|
||||
end
|
||||
collection do
|
||||
get :forgot_password
|
||||
end
|
||||
end
|
||||
|
||||
# specific feeds
|
||||
# specific feeds
|
||||
match 'channels/:channel_id/feed(s)(.:format)' => 'feed#index'
|
||||
match 'channels/:channel_id/field(s)/:field_id(.:format)' => 'feed#index'
|
||||
match 'channels/:channel_id/field(s)/:field_id/:id(.:format)' => 'feed#show'
|
||||
match 'channels/:channel_id/feed(s)/entry/:id(.:format)' => 'feed#show'
|
||||
match 'channels/:channel_id/field(s)/:field_id(.:format)' => 'feed#index'
|
||||
match 'channels/:channel_id/field(s)/:field_id/:id(.:format)' => 'feed#show'
|
||||
match 'channels/:channel_id/feed(s)/entry/:id(.:format)' => 'feed#show'
|
||||
|
||||
# import
|
||||
match 'channels/:channel_id/import' => 'channels#import', :as => 'channel_import'
|
||||
match 'channels/:channel_id/upload' => 'channels#upload'
|
||||
# import
|
||||
match 'channels/:channel_id/import' => 'channels#import', :as => 'channel_import'
|
||||
match 'channels/:channel_id/upload' => 'channels#upload'
|
||||
|
||||
# nest feeds into channels
|
||||
resources :channels do
|
||||
resources :feed
|
||||
# nest feeds into channels
|
||||
resources :channels do
|
||||
member do
|
||||
get :import
|
||||
post :upload
|
||||
post :clear
|
||||
end
|
||||
resources :feed
|
||||
resources :feeds, :to => 'feed'
|
||||
resources :api_keys
|
||||
resources :status
|
||||
resources :api_keys, :except => [:show, :edit]
|
||||
resources :status
|
||||
resources :statuses, :to => 'statuses'
|
||||
resources :charts
|
||||
end
|
||||
resources :charts
|
||||
end
|
||||
|
||||
match 'login' => 'user_sessions#new', :as => :login
|
||||
match 'logout' => 'user_sessions#destroy', :as => :logout
|
||||
match 'users/reset_password', :to => 'users#reset_password', :as => 'reset_password'
|
||||
match 'forgot_password', :to => 'users#forgot_password', :as => 'forgot_password'
|
||||
|
||||
match ':controller(/:action(/:id(.:format)))'
|
||||
match 'login' => 'user_sessions#new', :as => :login, :via => :get
|
||||
match 'logout' => 'user_sessions#destroy', :as => :logout, :via => :delete
|
||||
match 'mailer/resetpassword', :to => 'mailer#resetpassword', :as => :resetpassword, :via => :post
|
||||
end
|
||||
|
Reference in New Issue
Block a user