module Precious::Views::RouteHelpers
Constants
- ROUTES
Public Class Methods
included(base)
click to toggle source
# File lib/gollum/views/helpers.rb, line 48 def self.included(base) @@route_methods = {} self.parse_routes(ROUTES) define_method :routes_to_json do @@route_methods.to_json end end
parse_routes(routes, prefix = '')
click to toggle source
# File lib/gollum/views/helpers.rb, line 34 def self.parse_routes(routes, prefix = '') routes.each do |name, path| if path.respond_to?(:keys) self.parse_routes(path, "#{prefix}/#{name}") else route_path = "#{prefix}/#{path}" @@route_methods[name.to_s] = route_path define_method :"#{name.to_s}_path" do page_route(route_path) end end end end
Public Instance Methods
clean_url(*url)
click to toggle source
# File lib/gollum/views/helpers.rb, line 60 def clean_url(*url) url.compact! return nil if url.empty? _url = ::File.join(*url) _url.gsub!(%r{/{2,}}, '/') _url.gsub!(%r{\?}, '%3F') _url end
page_route(page = nil)
click to toggle source
# File lib/gollum/views/helpers.rb, line 56 def page_route(page = nil) clean_url("/#{@base_url}", page) end