Class: Merb::Rack::Console
- Inherits:
-
Object
- Object
- Merb::Rack::Console
- Defined in:
- merb-core/lib/merb-core/rack/adapter/irb.rb
Instance Method Summary (collapse)
-
- (Object) close_sandbox!
Ends a sandboxed session (delegates to any
Merb::Orms::*modules). -
- (Object) open_sandbox!
Starts a sandboxed session (delegates to any
Merb::Orms::*modules). -
- (Object) reload!
Reloads classes using
Merb::BootLoader::ReloadClasses. - - (Object) resource(*args)
-
- (Object) route_to(url, method = :get, env_overrides = {})
Returns a request for a specific URL and method.
-
- (Object) show_routes
Prints all routes for the application.
-
- (Object) trace_log!
Explicitly show logger output during IRB session.
- - (Object) url(name, *args)
Instance Method Details
- (Object) close_sandbox!
Ends a sandboxed session (delegates to any Merb::Orms::* modules).
An ORM should implement Merb::Orms::MyOrm#close_sandbox! to support this.
Usually this involves rolling back a transaction.
78 79 80 81 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 78 def close_sandbox! orm_modules.each { |orm| orm.close_sandbox! if orm.respond_to?(:close_sandbox!) } puts "Modifications have been rolled back" end |
- (Object) open_sandbox!
Starts a sandboxed session (delegates to any Merb::Orms::* modules).
An ORM should implement Merb::Orms::MyOrm#open_sandbox! to support this.
Usually this involves starting a transaction.
67 68 69 70 71 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 67 def open_sandbox! puts "Loading #{Merb.environment} environment in sandbox (Merb #{Merb::VERSION})" puts "Any modifications you make will be rolled back on exit" orm_modules.each { |orm| orm.open_sandbox! if orm.respond_to?(:open_sandbox!) } end |
- (Object) reload!
Reloads classes using Merb::BootLoader::ReloadClasses.
22 23 24 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 22 def reload! Merb::BootLoader::ReloadClasses.reload! end |
- (Object) resource(*args)
15 16 17 18 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 15 def resource(*args) args << {} Merb::Router.resource(*args) end |
- (Object) route_to(url, method = :get, env_overrides = {})
Returns a request for a specific URL and method.
28 29 30 31 32 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 28 def route_to(url, method = :get, env_overrides = {}) request_env = ::Rack::MockRequest.env_for(url) request_env["REQUEST_METHOD"] = method.to_s Merb::Router.route_for(Merb::Request.new(request_env.merge(env_overrides))) end |
- (Object) show_routes
Prints all routes for the application.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 36 def show_routes seen = [] unless Merb::Router.named_routes.empty? puts "==== Named routes" Merb::Router.named_routes.each do |name,route| # something weird happens when you combine sprintf and irb puts "Helper : #{name}" meth = $1.upcase if route.conditions[:method].to_s =~ /(get|post|put|delete)/ puts "HTTP method: #{meth || 'GET'}" puts "Route : #{route}" puts "Params : #{route.params.inspect}" puts seen << route end end puts "==== Anonymous routes" (Merb::Router.routes - seen).each do |route| meth = $1.upcase if route.conditions[:method].to_s =~ /(get|post|put|delete)/ puts "HTTP method: #{meth || 'GET'}" puts "Route : #{route}" puts "Params : #{route.params.inspect}" puts end nil end |
- (Object) trace_log!
Explicitly show logger output during IRB session
85 86 87 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 85 def trace_log! Merb.logger.auto_flush = true end |
- (Object) url(name, *args)
7 8 9 10 |
# File 'merb-core/lib/merb-core/rack/adapter/irb.rb', line 7 def url(name, *args) args << {} Merb::Router.url(name, *args) end |