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