Class: RnStack::Router
- Inherits:
-
Object
- Object
- RnStack::Router
- Defined in:
- lib/rn_stack/router.rb
Class Method Summary collapse
- .register_api_routes(mapper) ⇒ Object
- .register_page_routes(mapper) ⇒ Object
- .register_routes(mapper) ⇒ Object
Class Method Details
.register_api_routes(mapper) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rn_stack/router.rb', line 20 def self.register_api_routes(mapper) Dir.glob(File.join(Rails.root, "app/api/**/*.rb")).each do |file| relative_path = file.sub(File.join(Rails.root, "app/api/"), "").sub(".rb", "") # Convert [param] to :param for Rails routing route_path = relative_path.gsub(/\[([^\]]+)\]/, ':\1') route_path = "/api/#{route_path}".gsub(/\/+/, '/') mapper.match route_path, to: "rn_stack/api#handle", via: [:get, :post, :put, :patch, :delete], defaults: { api_path: relative_path } end end |
.register_page_routes(mapper) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/rn_stack/router.rb', line 8 def self.register_page_routes(mapper) Dir.glob(File.join(Rails.root, "app/pages/**/*.html.erb")).each do |file| relative_path = file.sub(File.join(Rails.root, "app/pages/"), "").sub(".html.erb", "") # Convert [param] to :param for Rails routing route_path = relative_path.gsub(/\[([^\]]+)\]/, ':\1') route_path = "/#{route_path.gsub('index', '')}".gsub(/\/+/, '/') route_path = "/" if route_path == "/index" || route_path == "//" mapper.get route_path, to: "rn_stack/pages#show", defaults: { page_path: relative_path } end end |
.register_routes(mapper) ⇒ Object
3 4 5 6 |
# File 'lib/rn_stack/router.rb', line 3 def self.register_routes(mapper) register_page_routes(mapper) register_api_routes(mapper) end |