class SimpleNavigation::Adapters::Sinatra

Public Class Methods

new(context) click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 10
def initialize(context)
  @context = context
  @request = context.request
end
register(app) click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 6
def self.register(app)
  SimpleNavigation.set_env(app.root, app.environment)
end

Public Instance Methods

content_tag(type, content, options = {}) click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 46
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 15
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 27
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
request_path() click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 23
def request_path
  request.path
end
request_uri() click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 19
def request_uri
  request.fullpath
end

Protected Instance Methods

to_attributes(options) click to toggle source
# File lib/simple_navigation/adapters/sinatra.rb, line 52
def to_attributes(options)
  options.map { |k, v| v.nil? ? '' : " #{k}='#{v}'" }.join
end