class SimpleNavigation::Adapters::Sinatra
Public Class Methods
new(context)
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 11 def initialize(context) @context = context @request = context.request end
register()
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 6 def self.register SimpleNavigation.set_env(sinatra_root, sinatra_environment) ::Sinatra::Application.send(:helpers, SimpleNavigation::Helpers) end
Protected Class Methods
sinatra_environment()
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 57 def self.sinatra_environment ::Sinatra::Application.environment end
sinatra_root()
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 53 def self.sinatra_root ::Sinatra::Application.root end
Public Instance Methods
content_tag(type, content, options = {})
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 47 def content_tag(type, content, options = {}) "<#{type}#{to_attributes(options)}>#{content}</#{type}>" end
context_for_eval()
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 16 def context_for_eval context || fail('no context set for evaluation the config file') end
current_page?(url)
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 28 def current_page?(url) url_string = CGI.unescape(url) uri = if url_string.index('?') request_uri else request_uri.split('?').first end if url_string =~ %r(^\w+://) uri = "#{request.scheme}://#{request.host_with_port}#{uri}" end url_string == CGI.unescape(uri) end
link_to(name, url, options = {})
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 43 def link_to(name, url, options = {}) "<a href='#{url}'#{to_attributes(options)}>#{name}</a>" end
request_path()
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 24 def request_path request.path end
request_uri()
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 20 def request_uri request.fullpath end
Protected Instance Methods
to_attributes(options)
click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 61 def to_attributes(options) options.map { |k, v| v.nil? ? '' : " #{k}='#{v}'" }.join end