2011-07-19 19:42:45 +00:00

22 lines
605 B
Ruby

module NavigationHelpers
def path_to(page_name)
case page_name
when /^the home\s?page$/
'/'
when /^the track page for "([^\"]*)"$/
track_path Track.find_by_name($1)
else
begin
page_name =~ /^the (.*) page$/
path_components = $1.split(/\s+/)
self.send(path_components.push('path').join('_').to_sym)
rescue NoMethodError, ArgumentError
raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
"Now, go and add a mapping in #{__FILE__}"
end
end
end
end
World(NavigationHelpers)