class Ground::CreateApplication
Public Class Methods
new(data)
click to toggle source
Calls superclass method
# File lib/ground/activity/create_application.rb, line 6 def initialize(data) super @middlewares = [] end
Public Instance Methods
call(&p)
click to toggle source
# File lib/ground/activity/create_application.rb, line 11 def call(&p) app = Class.new(Ground::BaseRack) instance_eval &p app_with_middlewares = pack_middlewares_to_app app end
Private Instance Methods
pack_middlewares_to_app(app)
click to toggle source
# File lib/ground/activity/create_application.rb, line 23 def pack_middlewares_to_app(app) app_with_middlewares = app.new @middlewares.reverse.each {|middleware| app_with_middlewares = middleware.call(app_with_middlewares) } app_with_middlewares end
use(middleware, *args, &p)
click to toggle source
# File lib/ground/activity/create_application.rb, line 19 def use(middleware, *args, &p) @middlewares << lambda {|app| middleware.new(app, *args, &p)} end