Sha256: e3bb4fcfadf49754c3ab8107660f43991f76fb98924953fb0f3ef1401e0a1e16
Contents?: true
Size: 636 Bytes
Versions: 2
Compression:
Stored size: 636 Bytes
Contents
module Rack::App::SingletonMethods::Mounting def on_mounted(&block) @on_mounted ||= [] @on_mounted << block unless block.nil? @on_mounted end alias while_being_mounted on_mounted def mount(api_class, mount_prop={}) unless api_class.is_a?(Class) and api_class <= Rack::App raise(ArgumentError, 'Invalid class given for mount, must be a Rack::App') end api_class.on_mounted.each do |on_mount| on_mount.call(self, mount_prop) end merge_prop = {:namespaces => [@namespaces, mount_prop[:to]].flatten} router.merge_router!(api_class.router, merge_prop) return nil end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rack-app-2.1.0 | lib/rack/app/singleton_methods/mounting.rb |
rack-app-2.0.0 | lib/rack/app/singleton_methods/mounting.rb |