Commit 1581f75f authored by Lin Jen-Shin's avatar Lin Jen-Shin

Put EE routes in EE files under EE directories

parent 679c0048
...@@ -76,6 +76,7 @@ Naming/FileName: ...@@ -76,6 +76,7 @@ Naming/FileName:
- 'qa/qa/specs/**/*' - 'qa/qa/specs/**/*'
- 'qa/bin/*' - 'qa/bin/*'
- 'config/**/*' - 'config/**/*'
- 'ee/config/**/*'
- 'lib/generators/**/*' - 'lib/generators/**/*'
- 'locale/unfound_translations.rb' - 'locale/unfound_translations.rb'
- 'ee/locale/unfound_translations.rb' - 'ee/locale/unfound_translations.rb'
......
# Adds draw method into Rails routing # Adds draw method into Rails routing
# It allows us to keep routing splitted into files # It allows us to keep routing split into files
class ActionDispatch::Routing::Mapper ActionDispatch::Routing::Mapper.prepend Gitlab::Patch::DrawRoute
def draw(routes_name)
instance_eval(File.read(Rails.root.join("config/routes/#{routes_name}.rb")))
end
end
...@@ -71,6 +71,7 @@ namespace :admin do ...@@ -71,6 +71,7 @@ namespace :admin do
resource :logs, only: [:show] resource :logs, only: [:show]
resource :health_check, controller: 'health_check', only: [:show] resource :health_check, controller: 'health_check', only: [:show]
resource :background_jobs, controller: 'background_jobs', only: [:show] resource :background_jobs, controller: 'background_jobs', only: [:show]
resource :system_info, controller: 'system_info', only: [:show] resource :system_info, controller: 'system_info', only: [:show]
resources :requests_profiles, only: [:index, :show], param: :name, constraints: { name: /.+\.html/ } resources :requests_profiles, only: [:index, :show], param: :name, constraints: { name: /.+\.html/ }
...@@ -104,6 +105,7 @@ namespace :admin do ...@@ -104,6 +105,7 @@ namespace :admin do
resource :application_settings, only: [:show, :update] do resource :application_settings, only: [:show, :update] do
resources :services, only: [:index, :edit, :update] resources :services, only: [:index, :edit, :update]
get :usage_data get :usage_data
put :reset_registration_token put :reset_registration_token
put :reset_health_check_token put :reset_health_check_token
......
# frozen_string_literal: true
resources :groups, only: [:index, :new, :create] do resources :groups, only: [:index, :new, :create] do
post :preview_markdown post :preview_markdown
end end
...@@ -63,7 +65,6 @@ constraints(::Constraints::GroupUrlConstrainer.new) do ...@@ -63,7 +65,6 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
end end
end end
# On CE only index and show actions are needed
resources :boards, only: [:index, :show] resources :boards, only: [:index, :show]
resources :runners, only: [:index, :edit, :update, :destroy, :show] do resources :runners, only: [:index, :edit, :update, :destroy, :show] do
......
...@@ -171,7 +171,7 @@ There are a few gotchas with it: ...@@ -171,7 +171,7 @@ There are a few gotchas with it:
class Base class Base
def execute def execute
return unless enabled? return unless enabled?
# ... # ...
# ... # ...
end end
...@@ -185,12 +185,12 @@ There are a few gotchas with it: ...@@ -185,12 +185,12 @@ There are a few gotchas with it:
class Base class Base
def execute def execute
return unless enabled? return unless enabled?
do_something do_something
end end
private private
def do_something def do_something
# ... # ...
# ... # ...
...@@ -204,14 +204,14 @@ There are a few gotchas with it: ...@@ -204,14 +204,14 @@ There are a few gotchas with it:
```ruby ```ruby
module EE::Base module EE::Base
extend ::Gitlab::Utils::Override extend ::Gitlab::Utils::Override
override :do_something override :do_something
def do_something def do_something
# Follow the above pattern to call super and extend it # Follow the above pattern to call super and extend it
end end
end end
``` ```
This would require updating CE first, or make sure this is back ported to CE. This would require updating CE first, or make sure this is back ported to CE.
When prepending, place them in the `ee/` specific sub-directory, and When prepending, place them in the `ee/` specific sub-directory, and
...@@ -332,6 +332,15 @@ full implementation details. ...@@ -332,6 +332,15 @@ full implementation details.
[ce-mr-full-private]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12373 [ce-mr-full-private]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12373
[ee-mr-full-private]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2199 [ee-mr-full-private]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2199
### Code in `config/routes`
When we add `draw :admin` in `config/routes.rb`, the application will also
load the file located in `config/routes/admin.rb`, and also
`ee/config/routes/admin.rb` if the file exists.
So if we want to extend a particular route file, just add the same file
located in `ee/config/routes`.
### Code in `app/controllers/` ### Code in `app/controllers/`
In controllers, the most common type of conflict is with `before_action` that In controllers, the most common type of conflict is with `before_action` that
......
# frozen_string_literal: true
# We're patching `ActionDispatch::Routing::Mapper` in
# config/initializers/routing_draw.rb
module Gitlab
module Patch
module DrawRoute
def draw(routes_name)
instance_eval(File.read(Rails.root.join("config/routes/#{routes_name}.rb")))
draw_ee(routes_name)
end
def draw_ee(routes_name)
path = Rails.root.join("ee/config/routes/#{routes_name}.rb")
instance_eval(File.read(path)) if File.exist?(path)
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment