Skip to content

Commit

Permalink
Merge pull request #29 from lotus/simplify-controller-action-naming
Browse files Browse the repository at this point in the history
Simplify naming controller/action convention
  • Loading branch information
jodosha committed Nov 14, 2014
2 parents d78ec02 + 34779e4 commit dbf8866
Show file tree
Hide file tree
Showing 12 changed files with 540 additions and 492 deletions.
45 changes: 23 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ For the standalone usage, it supports neat features:
```ruby
Lotus::Router.new do
get '/', to: ->(env) { [200, {}, ['Hi!']] }
get '/dashboard', to: DashboardController::Index
get '/dashboard', to: Dashboard::Index
get '/rack-app', to: RackApp.new
get '/flowers', to: 'flowers#index'
get '/flowers/:id', to: 'flowers#show'
Expand All @@ -79,7 +79,7 @@ Lotus::Router.new do
mount Api::App, to: '/api'

namespace 'admin' do
get '/users', to: UsersController::Index
get '/users', to: Users::Index
end

resource 'identity' do
Expand Down Expand Up @@ -222,7 +222,7 @@ end
2. `RackTwo` is initialized, because it respond to `#call`
3. `RackThree` is used as it is (object), because it respond to `#call`
4. That Proc is used as it is, because it respond to `#call`
5. That string is resolved as `DashboardController::Index` ([Lotus::Controller](https://github.com/lotus/controller) integration)
5. That string is resolved as `Dashboard::Index` ([Lotus::Controller](https://github.com/lotus/controller) integration)



Expand Down Expand Up @@ -255,7 +255,7 @@ router.get '/lotus', to: 'rack_app' # it will map to RackApp.new
It also supports Controller + Action syntax:

```ruby
class FlowersController
module Flowers
class Index
def call(env)
# ...
Expand All @@ -264,7 +264,7 @@ class FlowersController
end

router = Lotus::Router.new
router.get '/flowers', to: 'flowers#index' # it will map to FlowersController::Index.new
router.get '/flowers', to: 'flowers#index' # it will map to Flowers::Index.new
```


Expand Down Expand Up @@ -298,42 +298,42 @@ It will map:
<tr>
<td>GET</td>
<td>/identity</td>
<td>IdentityController::Show</td>
<td>Identity::Show</td>
<td>:show</td>
<td>:identity</td>
</tr>
<tr>
<td>GET</td>
<td>/identity/new</td>
<td>IdentityController::New</td>
<td>Identity::New</td>
<td>:new</td>
<td>:new_identity</td>
</tr>
<tr>
<td>POST</td>
<td>/identity</td>
<td>IdentityController::Create</td>
<td>Identity::Create</td>
<td>:create</td>
<td>:identity</td>
</tr>
<tr>
<td>GET</td>
<td>/identity/edit</td>
<td>IdentityController::Edit</td>
<td>Identity::Edit</td>
<td>:edit</td>
<td>:edit_identity</td>
</tr>
<tr>
<td>PATCH</td>
<td>/identity</td>
<td>IdentityController::Update</td>
<td>Identity::Update</td>
<td>:update</td>
<td>:identity</td>
</tr>
<tr>
<td>DELETE</td>
<td>/identity</td>
<td>IdentityController::Destroy</td>
<td>Identity::Destroy</td>
<td>:destroy</td>
<td>:identity</td>
</tr>
Expand All @@ -357,11 +357,11 @@ If you need extra endpoints:
router = Lotus::Router.new
router.resource 'identity' do
member do
get '/avatar' # maps to IdentityController::Avatar
get 'avatar' # maps to Identity::Avatar
end

collection do
get '/authorizations' # maps to IdentityController::Authorizations
get 'authorizations' # maps to Identity::Authorizations
end
end

Expand Down Expand Up @@ -391,49 +391,49 @@ It will map:
<tr>
<td>GET</td>
<td>/flowers</td>
<td>FlowersController::Index</td>
<td>Flowers::Index</td>
<td>:index</td>
<td>:flowers</td>
</tr>
<tr>
<td>GET</td>
<td>/flowers/:id</td>
<td>FlowersController::Show</td>
<td>Flowers::Show</td>
<td>:show</td>
<td>:flowers</td>
</tr>
<tr>
<td>GET</td>
<td>/flowers/new</td>
<td>FlowersController::New</td>
<td>Flowers::New</td>
<td>:new</td>
<td>:new_flowers</td>
</tr>
<tr>
<td>POST</td>
<td>/flowers</td>
<td>FlowersController::Create</td>
<td>Flowers::Create</td>
<td>:create</td>
<td>:flowers</td>
</tr>
<tr>
<td>GET</td>
<td>/flowers/:id/edit</td>
<td>FlowersController::Edit</td>
<td>Flowers::Edit</td>
<td>:edit</td>
<td>:edit_flowers</td>
</tr>
<tr>
<td>PATCH</td>
<td>/flowers/:id</td>
<td>FlowersController::Update</td>
<td>Flowers::Update</td>
<td>:update</td>
<td>:flowers</td>
</tr>
<tr>
<td>DELETE</td>
<td>/flowers/:id</td>
<td>FlowersController::Destroy</td>
<td>Flowers::Destroy</td>
<td>:destroy</td>
<td>:flowers</td>
</tr>
Expand Down Expand Up @@ -466,10 +466,11 @@ If you need extra endpoints:
router = Lotus::Router.new
router.resources 'flowers' do
member do
get '/toggle' # maps to FlowersController::Toggle
get 'toggle' # maps to Flowers::Toggle
end

collection do
get '/search' # maps to FlowersController::Search
get 'search' # maps to Flowers::Search
end
end

Expand Down
Loading

0 comments on commit dbf8866

Please sign in to comment.