diff options
author | Gibheer <gibheer@gmail.com> | 2013-07-22 15:17:28 +0200 |
---|---|---|
committer | Gibheer <gibheer@gmail.com> | 2013-07-22 15:17:28 +0200 |
commit | 94a2d399eb81d59f9d66c5d16121611c4d1ae0cd (patch) | |
tree | 8bbeeb9ddf8909bbbd35789595952998eb38af12 | |
parent | 7fd2f6b25b2abd48a7292f7598e53ebd357e24f7 (diff) |
generate a name from the server details
-rw-r--r-- | lib/zero/request/server.rb | 7 | ||||
-rw-r--r-- | spec/unit/zero/request/server/name_spec.rb | 20 |
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/zero/request/server.rb b/lib/zero/request/server.rb index 0aa82c8..c301fd1 100644 --- a/lib/zero/request/server.rb +++ b/lib/zero/request/server.rb @@ -36,6 +36,13 @@ module Zero # get the server software # @return [String] the server software name attr_reader :software + + # returns the full name of the server + # @return [String] the full address to the server + def name + return @name if @name + @name = protocol + '://' + hostname + ':' + port.to_s + end end end end diff --git a/spec/unit/zero/request/server/name_spec.rb b/spec/unit/zero/request/server/name_spec.rb new file mode 100644 index 0000000..0537fb7 --- /dev/null +++ b/spec/unit/zero/request/server/name_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' + +describe Zero::Request::Server, '#name' do + subject { Zero::Request::Server.new(env) } + let(:hostname) { 'FooName' } + let(:port) { '80' } + let(:protocol) { 'http' } + let(:result) { 'http://FooName:80' } + + let(:env) { EnvGenerator.get('/foo', { + 'SERVER_NAME' => hostname, + 'SERVER_PROTOCOL' => protocol, + 'SERVER_PORT' => port + }) } + + it "generates a name" do + expect(subject.name).to match(result) + end +end + |