Class: Freedom::Application
Class Method Summary
collapse
Instance Method Summary
collapse
#call, #delete, #get, #head, #link, #options, #patch, #post, #put, #routes, #unlink
Constructor Details
#initialize(options = {}) ⇒ Application
Returns a new instance of Application.
114
115
116
117
118
119
|
# File 'lib/freedom/core/application.rb', line 114
def initialize(options = {})
super()
@options = options.clone
@middlewares = default_middlewares
@rack_server = nil
end
|
Class Method Details
.start(options = {}) ⇒ Object
110
111
112
|
# File 'lib/freedom/core/application.rb', line 110
def self.start(options = {})
self.new(options).start
end
|
Instance Method Details
#add_middleware(middleware_class, *middleware_args) ⇒ Object
141
142
143
|
# File 'lib/freedom/core/application.rb', line 141
def add_middleware(middleware_class, *middleware_args)
@middlewares << [middleware_class, *middleware_args]
end
|
#build ⇒ Object
125
126
127
128
129
130
131
132
133
134
|
# File 'lib/freedom/core/application.rb', line 125
def build
builder = Rack::Builder.new(self)
@middlewares.each do |middleware_array|
builder.use(*middleware_array)
end
rack_options = @options
rack_options[:app] = builder.to_app
rack_options[:Port] = 5700 unless rack_options[:Port]
@rack_server = Rack::Server.new(rack_options)
end
|
#built? ⇒ Boolean
121
122
123
|
# File 'lib/freedom/core/application.rb', line 121
def built?
!!@rack_server
end
|
#start ⇒ Object
136
137
138
139
|
# File 'lib/freedom/core/application.rb', line 136
def start
build unless built?
@rack_server.start
end
|