hostname.rb revision cb1256dca3f095718f35c41530a136823dac0774
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.
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksamodule Hostname
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa def self.fqdn
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa hostname = Settings.hostname.split(':').first if Settings.hostname
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa if hostname == 'localhost' || (hostname && hostname.include?('.'))
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa hostname
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa else
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa Addrinfo.tcp(Socket.gethostname, 0).getnameinfo.first
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa end
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa end
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa def self.port
e2586f58230ac2938db5ee91191108988b206e2fEugen Kuksa Settings.hostname.split(':').last if Settings.hostname
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa end
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa def self.url_authority(scheme: 'http')
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa port = Ontohub::Application.config.port
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa port = ":#{port}" if port
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa "#{scheme}://#{Ontohub::Application.config.fqdn}#{port}/"
cb1256dca3f095718f35c41530a136823dac0774Eugen Kuksa end
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksaend
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen Kuksa
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen KuksaOntohub::Application.config.fqdn = Hostname.fqdn
d6cf50ae9519bdb5252081061b3d6a7e0ccde20bEugen KuksaOntohub::Application.config.port = Hostname.port