[openstreetmap/openstreetmap-website] Split api_controller actions into their own controllers (#2160)
notifications at github.com
Thu Feb 28 15:26:13 UTC 2019
I've been planning on a refactoring of api-related controllers for a while. For further background reading, see https://github.com/gravitystorm/openstreetmap-website/issues/27.
I want to refactor the api-related controllers to inherit from a common controller (in the same way that regular controllers normally inherit from ApplicationController). The only convention that I found has this base controller named as "ApiController", but we're already using that name. So I thought about renaming our current ApiController, to free up the name for reuse, but I couldn't figure out a good descriptive name for the actions in the current ApiController. And then I realised that's because they are mostly unrelated to each other, and so I could split them into separate controllers instead.
So that's what this PR does - it splits the ApiController into separate controllers for each unrelated action.
I've chosen to put them in an "api" namespace (aka subdirectory) since I plan to do this for the rest of the api-related controllers. It is also the end-goal for other work that I'm doing on supporting multiple API versions (see https://github.com/gravitystorm/openstreetmap-website/issues/28), so creating the new controllers in the subdirectory should avoid further renaming.
You can view, comment on, or merge this pull request online at:
-- Commit Summary --
* Move the capabilities call out of api_controller
* Move the trackpoints call into its own controller (and rename to tracepoints)
* Rename api controller test files
* Move the permissions call out of api_controller
* Move the changes api to its own controller
* Move map method to its own controller
-- File Changes --
M app/abilities/ability.rb (6)
A app/controllers/api/capabilities_controller.rb (21)
A app/controllers/api/changes_controller.rb (57)
A app/controllers/api/map_controller.rb (107)
A app/controllers/api/permissions_controller.rb (27)
A app/controllers/api/tracepoints_controller.rb (112)
D app/controllers/api_controller.rb (279)
R app/views/api/capabilities/show.builder (0)
R app/views/api/permissions/show.builder (0)
M config/routes.rb (14)
A test/controllers/api/capabilities_controller_test.rb (35)
A test/controllers/api/changes_controller_test.rb (106)
A test/controllers/api/map_controller_test.rb (181)
A test/controllers/api/permissions_controller_test.rb (51)
A test/controllers/api/tracepoints_controller_test.rb (146)
D test/controllers/api_controller_test.rb (435)
-- Patch Links --
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rails-dev