Class: ActionDispatch::Routing::Mapper
- Inherits:
-
Object
- Object
- ActionDispatch::Routing::Mapper
- Defined in:
- lib/croods/routes.rb
Instance Method Summary collapse
- #create_application_controller! ⇒ Object
- #create_resource_routes!(resource) ⇒ Object
- #mount_croods ⇒ Object
Instance Method Details
#create_application_controller! ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/croods/routes.rb', line 32 def create_application_controller! Croods::Controller.instance_eval do include DeviseTokenAuth::Concerns::SetUserByToken end Object.const_set( 'ApplicationController', Class.new(Croods::Controller) ) Croods.application_controller_blocks.each do |block| ApplicationController.instance_eval(&block) end end |
#create_resource_routes!(resource) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/croods/routes.rb', line 20 def create_resource_routes!(resource) resources( resource.route_name, param: resource.identifier, only: resource.actions.map(&:name) ) do resource.additional_actions.each do |action| public_send(action.method, action.name, on: action.on) end end end |
#mount_croods ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/croods/routes.rb', line 6 def mount_croods create_application_controller! Croods.resources.each do |resource| resource.create_model! resource.create_policy! resource.create_controller! resource. create_resource_routes!(resource) end Croods.json_schema = Croods::Api.json_schema end |