class Zooplankton::Resolver

Attributes

routes[R]

Public Class Methods

instance() click to toggle source
# File lib/zooplankton/resolver.rb, line 5
def self.instance
  new(Rails.application.routes)
end
new(routes) click to toggle source
# File lib/zooplankton/resolver.rb, line 9
def initialize(routes)
  @routes = routes
end

Public Instance Methods

generate(helper_method, helper_name, params = {}) click to toggle source
# File lib/zooplankton/resolver.rb, line 17
def generate(helper_method, helper_name, params = {})
  route = named_routes[helper_name]
  routes.url_helpers.public_send(helper_method, *tokenized_params_for(route, params))
end
has_route?(name) click to toggle source
# File lib/zooplankton/resolver.rb, line 13
def has_route?(name)
  names.include?(name)
end

Private Instance Methods

named_routes() click to toggle source
# File lib/zooplankton/resolver.rb, line 35
def named_routes
  routes.named_routes
end
names() click to toggle source
# File lib/zooplankton/resolver.rb, line 31
def names
  named_routes.names
end
tokenized_params_for(route, params) click to toggle source
# File lib/zooplankton/resolver.rb, line 25
def tokenized_params_for(route, params)
  route.required_parts.map do |required_part|
    params.fetch(required_part) { "{#{required_part}}" }
  end
end