module Sinatra::Namespace::NamespacedMethods

Attributes

base[R]
templates[R]

Public Class Methods

prefixed(*names) click to toggle source
# File lib/sinatra/namespace.rb, line 159
def self.prefixed(*names)
  names.each { |n| define_method(n) { |*a, &b| prefixed(n, *a, &b) }}
end

Public Instance Methods

disable(*opts) click to toggle source
# File lib/sinatra/namespace.rb, line 211
def disable(*opts)
  opts.each { |key| set(key, false) }
end
enable(*opts) click to toggle source
# File lib/sinatra/namespace.rb, line 207
def enable(*opts)
  opts.each { |key| set(key, true) }
end
error(codes = Exception, &block) click to toggle source
# File lib/sinatra/namespace.rb, line 191
def error(codes = Exception, &block)
  [*codes].each { |c| errors[c] = block }
end
errors() click to toggle source
# File lib/sinatra/namespace.rb, line 183
def errors
  @errors ||= {}
end
helpers(*extensions, &block) click to toggle source
# File lib/sinatra/namespace.rb, line 165
def helpers(*extensions, &block)
  class_eval(&block) if block_given?
  include(*extensions) if extensions.any?
end
invoke_hook(name, *args) click to toggle source
# File lib/sinatra/namespace.rb, line 179
def invoke_hook(name, *args)
  @extensions.each { |e| e.send(name, *args) if e.respond_to?(name) }
end
layout(name=:layout, &block) click to toggle source
# File lib/sinatra/namespace.rb, line 220
def layout(name=:layout, &block)
  template name, &block
end
not_found(&block) click to toggle source
# File lib/sinatra/namespace.rb, line 187
def not_found(&block)
  error(404, &block)
end
register(*extensions, &block) click to toggle source
# File lib/sinatra/namespace.rb, line 170
def register(*extensions, &block)
  extensions << Module.new(&block) if block_given?
  @extensions += extensions
  extensions.each do |extension|
    extend extension
    extension.registered(self) if extension.respond_to?(:registered)
  end
end
respond_to(*args) click to toggle source
# File lib/sinatra/namespace.rb, line 195
def respond_to(*args)
  return @conditions[:provides] || base.respond_to if args.empty?
  @conditions[:provides] = args
end
set(key, value = self, &block) click to toggle source
# File lib/sinatra/namespace.rb, line 200
def set(key, value = self, &block)
  raise ArgumentError, "may not set #{key}" if key != :views
  return key.each { |k,v| set(k, v) } if block.nil? and value == self
  block ||= proc { value }
  singleton_class.send(:define_method, key, &block)
end
template(name, &block) click to toggle source
# File lib/sinatra/namespace.rb, line 215
def template(name, &block)
  filename, line = caller_locations.first
  templates[name] = [block, filename, line.to_i]
end