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
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