Class: CanvasERD::Server
- Inherits:
-
Object
- Object
- CanvasERD::Server
- Defined in:
- lib/canvas_erd/server.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- HOST =
"127.0.0.1"
Instance Attribute Summary collapse
-
#port ⇒ Object
readonly
Returns the value of attribute port.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(app:, port: nil, rack_server_class: nil) ⇒ Server
constructor
A new instance of Server.
- #start ⇒ Object
- #url ⇒ Object
Constructor Details
#initialize(app:, port: nil, rack_server_class: nil) ⇒ Server
Returns a new instance of Server.
164 165 166 167 168 |
# File 'lib/canvas_erd/server.rb', line 164 def initialize(app:, port: nil, rack_server_class: nil) @app = app @port = port || available_port @rack_server_class = rack_server_class || self.class.rack_server_class end |
Instance Attribute Details
#port ⇒ Object (readonly)
Returns the value of attribute port.
162 163 164 |
# File 'lib/canvas_erd/server.rb', line 162 def port @port end |
Class Method Details
.rack_server_class(loader: method(:load_rack_server_class)) ⇒ Object
185 186 187 188 189 |
# File 'lib/canvas_erd/server.rb', line 185 def self.rack_server_class(loader: method(:load_rack_server_class)) loader.call("rackup", "Rackup") || loader.call("rack/server", "Rack") || raise(Error, "No Rack server is available in this Rails application") end |
Instance Method Details
#start ⇒ Object
170 171 172 173 174 175 176 177 178 179 |
# File 'lib/canvas_erd/server.rb', line 170 def start @rack_server_class.start( app: @app, Host: HOST, Port: port, environment: "none" ) rescue LoadError => error raise Error, "No Rack server handler is available: #{error.}" end |
#url ⇒ Object
181 182 183 |
# File 'lib/canvas_erd/server.rb', line 181 def url "http://#{HOST}:#{port}/" end |