Module: Sinatra::Namespace::ClassMethods

Defined in:
lib/sinatra/namespace.rb

Instance Method Summary collapse

Instance Method Details

#make_namespace(mod, options = {}) ⇒ Object



80
81
82
83
# File 'lib/sinatra/namespace.rb', line 80

def make_namespace(mod, options = {})
  options[:base] ||= self
  Namespace.make_namespace(mod, options)
end

#make_namespace?(klass, meth) ⇒ Boolean

Returns:

  • (Boolean)


85
86
87
88
89
90
91
92
93
# File 'lib/sinatra/namespace.rb', line 85

def make_namespace?(klass, meth)
  return false if !auto_namespace? or klass.is_a? NestedMethods
  meths = NestedMethods.instance_methods.map { |m| m.to_s }
  if auto_namespace != true
    meths = [auto_namespace[:only]].flatten.map { |m| m.to_s } if auto_namespace.include? :only
    [auto_namespace[:except]].flatten.each { |m| meths.delete m.to_s } if auto_namespace.include? :except
  end
  meths.include? meth.to_s
end

#namespace(prefix = nil, options = {}, &block) ⇒ Object



76
77
78
# File 'lib/sinatra/namespace.rb', line 76

def namespace(prefix = nil, options = {}, &block)
  Namespace.setup(self, prefix, options, Module.new, &block)
end