Module: Sinatra::Extension

Defined in:
lib/sinatra/extension.rb

Defined Under Namespace

Classes: DontCall

Class Method Summary (collapse)

Instance Method Summary (collapse)

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

- (Object) method_missing(method, *args, &block) (private)



38
39
40
41
42
# File 'lib/sinatra/extension.rb', line 38

def method_missing(method, *args, &block)
  return super unless Sinatra::Base.respond_to? method
  record(method, *args, &block)
  DontCall.new(method)
end

Class Method Details

+ (Object) new(&block)



6
7
8
9
10
# File 'lib/sinatra/extension.rb', line 6

def self.new(&block)
  ext = Module.new.extend(self)
  ext.class_eval(&block)
  ext
end

Instance Method Details

- (Object) configure(*args, &block)



16
17
18
# File 'lib/sinatra/extension.rb', line 16

def configure(*args, &block)
  record(:configure, *args) { |c| c.instance_exec(c, &block) }
end

- (Object) registered(base = nil, &block)



20
21
22
# File 'lib/sinatra/extension.rb', line 20

def registered(base = nil, &block)
  base ? replay(base) : record(:class_eval, &block)
end

- (Object) settings



12
13
14
# File 'lib/sinatra/extension.rb', line 12

def settings
  self
end