e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa# Compute hostname and port from the hostname in the Settings.
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa# If no hostname is specified, read the hostname from the OS.
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa hostname = Settings.hostname.split(':').first if Settings.hostname
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa if hostname == 'localhost' || (hostname && hostname.include?('.'))
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa Addrinfo.tcp(Socket.gethostname, 0).getnameinfo.first
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa Could not automatically determine the hostname:
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa #{e.class}: #{e.message}
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa Please set the hostname manually in the configuration
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa or consult the documentation of `gethostname`:
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa * http://ruby-doc.org/stdlib/libdoc/socket/rdoc/Socket.html#method-c-gethostname
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa * man gethostname
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa * http://linux.die.net/man/2/gethostname
a446fc1729ca15222cd35f657ebe75152ac5a39cEugen Kuksa $stderr.puts message
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa def self.port
b941d9b3af35eaf1562109312ce79aad8e2f783bEugen Kuksa Settings.hostname.split(':').last if Settings.hostname.include?(':')
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa def self.url_authority(scheme: 'http')
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa port = Ontohub::Application.config.port
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa port = ":#{port}" if port
de6c495f32f4fe2341971527e5fc1ccb9a21ed2fEugen Kuksa "#{scheme}://#{Ontohub::Application.config.fqdn}#{port}"
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen KuksaOntohub::Application.config.fqdn = Hostname.fqdn
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen KuksaOntohub::Application.config.port = Hostname.port
13fc9a105393bc799a26cdba6f7e759435e3ec23Eugen KuksaOntohub::Application.routes.default_url_options[:host] = Hostname.fqdn
13fc9a105393bc799a26cdba6f7e759435e3ec23Eugen Kuksaif Hostname.port
13fc9a105393bc799a26cdba6f7e759435e3ec23Eugen Kuksa Ontohub::Application.routes.default_url_options[:host] << ":#{Hostname.port}"