From 75b01ba2a1ff7708cf8b3853a9680b91d35b9511 Mon Sep 17 00:00:00 2001 From: Zachary Crockett Date: Tue, 2 Jan 2024 12:48:22 -0800 Subject: [PATCH] Fix handling of single-word hostname --- iris.rb | 5 +++-- tests/iris_test.rb | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/iris.rb b/iris.rb index d6f85cb..e3a3bc7 100755 --- a/iris.rb +++ b/iris.rb @@ -37,9 +37,10 @@ class Config hostname = `hostname`.chomp hostname = 'localhost' if hostname.empty? - return @hostname = hostname if hostname == 'localhost' + components = hostname.split('.') + return @hostname = hostname if components.length == 1 - @hostname = hostname.split('.')[-2..-1].compact.join('.') + @hostname = components[-2..-1].compact.join('.') end def self.author diff --git a/tests/iris_test.rb b/tests/iris_test.rb index 82c9ad8..b077339 100644 --- a/tests/iris_test.rb +++ b/tests/iris_test.rb @@ -44,6 +44,12 @@ describe Config do _(Config.hostname).must_equal 'localhost' end + it 'correctly interprets a single word' do + Config.instance_variable_set(:@hostname, nil) + Config.expects(:`).with('hostname').returns('example') + _(Config.hostname).must_equal 'example' + end + it 'correctly interprets a subdomain' do Config.instance_variable_set(:@hostname, nil) Config.expects(:`).with('hostname').returns('example.com')