Class: Sanford::Router

Inherits:
Object
  • Object
show all
Defined in:
lib/sanford/router.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Router

Returns a new instance of Router.



9
10
11
12
# File 'lib/sanford/router.rb', line 9

def initialize(&block)
  @routes = []
  self.instance_eval(&block) if !block.nil?
end

Instance Attribute Details

#routesObject (readonly)

Returns the value of attribute routes.



7
8
9
# File 'lib/sanford/router.rb', line 7

def routes
  @routes
end

Instance Method Details

#inspectObject



32
33
34
35
36
# File 'lib/sanford/router.rb', line 32

def inspect
  reference = '0x0%x' % (self.object_id << 1)
  "#<#{self.class}:#{reference} " \
    "@service_handler_ns=#{self.service_handler_ns.inspect}>"
end

#service(name, handler_name) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/sanford/router.rb', line 19

def service(name, handler_name)
  if self.service_handler_ns && !(handler_name =~ /^::/)
    handler_name = "#{self.service_handler_ns}::#{handler_name}"
  end

  @routes.push(Sanford::Route.new(name, handler_name))
end

#service_handler_ns(value = nil) ⇒ Object



14
15
16
17
# File 'lib/sanford/router.rb', line 14

def service_handler_ns(value = nil)
  @service_handler_ns = value if !value.nil?
  @service_handler_ns
end

#validate!Object



27
28
29
30
# File 'lib/sanford/router.rb', line 27

def validate!
  self.routes.each(&:validate!)
  true
end