iron-web 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/History.txt +4 -0
- data/README.rdoc +2 -0
- data/Version.txt +1 -1
- data/lib/iron/web/url.rb +12 -4
- data/spec/web/url_spec.rb +12 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a6764a4ad1a9cb02a61bb112b2c2cbe1f15a834df243016b783343a4c448d8ca
|
4
|
+
data.tar.gz: 19dfff119eb150c98bee372a242ad40e5394e1cef5a488c91be60164a9dca4a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e283a8f8f8d94d12dae3029f26f69fd74e5a5754219f03c0797b0ee3d73452e7f1f02332a9790ab99f8e934409c147b0f4d6832bb38af17712c7b12ca7c969cb
|
7
|
+
data.tar.gz: beb061e2269af5cd42cb62a0a494f8599c0073fbe7ec72ebce98ad72ddebd02bc1f62f9739658e77123e842222fc6f170330838bebc84af3566fdd0a0b795c1b
|
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -18,6 +18,8 @@ A set of classes useful in the generation of HTML content.
|
|
18
18
|
=> '/home?key=some+value'
|
19
19
|
>> url.make_absolute(false, 'google.com')
|
20
20
|
=> 'http://google.com/home?key=some+value'
|
21
|
+
>> url.make_absolute(true, 'bing.com', 8080)
|
22
|
+
=> 'https://bing.com:8080/home?key=some+value'
|
21
23
|
|
22
24
|
* Color - an RGB/A color manipulation class, useful in generating CSS etc.
|
23
25
|
|
data/Version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.6
|
data/lib/iron/web/url.rb
CHANGED
@@ -38,6 +38,14 @@ class Url
|
|
38
38
|
@default_server = server
|
39
39
|
end
|
40
40
|
|
41
|
+
def self.default_port
|
42
|
+
@default_port
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.default_port=(port)
|
46
|
+
@default_port = port
|
47
|
+
end
|
48
|
+
|
41
49
|
def self.default_scheme
|
42
50
|
@default_scheme || 'http'
|
43
51
|
end
|
@@ -220,13 +228,13 @@ class Url
|
|
220
228
|
end
|
221
229
|
|
222
230
|
# Ensure url contains a server + scheme section, eg converts '/foo' into 'http://example.com/foo'.
|
223
|
-
def make_absolute(secure = false, server =
|
231
|
+
def make_absolute(secure = false, server = :default, port = :default)
|
224
232
|
unless absolute? && secure? == secure
|
225
|
-
raise 'No default server set for Url#make_absolute' unless server || @server || Url.default_server
|
226
|
-
@server ||=
|
233
|
+
raise 'No default server set for Url#make_absolute' unless server != :default || @server || Url.default_server
|
234
|
+
@server ||= server == :default ? Url.default_server : server
|
227
235
|
unless @scheme
|
228
236
|
@scheme = Url.default_scheme
|
229
|
-
@port =
|
237
|
+
@port = port == :default ? Url.default_port : port
|
230
238
|
end
|
231
239
|
if secure
|
232
240
|
raise "No secure scheme for scheme #{@scheme} in Url#make_absolute" unless SECURE_SCHEME_MAPPING[@scheme]
|
data/spec/web/url_spec.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
describe Url do
|
2
2
|
|
3
|
+
before do
|
4
|
+
Url.default_port = nil
|
5
|
+
Url.default_server = nil
|
6
|
+
end
|
7
|
+
|
3
8
|
it 'should parse url paths' do
|
4
9
|
{
|
5
10
|
'/' => '/',
|
@@ -100,6 +105,13 @@ describe Url do
|
|
100
105
|
u.make_absolute.should == 'http://irongaze.com/bar'
|
101
106
|
end
|
102
107
|
|
108
|
+
it 'should support ports in absolute URL generation' do
|
109
|
+
u = Url.parse('/bar')
|
110
|
+
Url.default_server = 'irongaze.com'
|
111
|
+
Url.default_port = '3000'
|
112
|
+
u.make_absolute.should == 'http://irongaze.com:3000/bar'
|
113
|
+
end
|
114
|
+
|
103
115
|
it 'should allow explicit servers in make_absolute' do
|
104
116
|
u = Url.parse('/bob')
|
105
117
|
u.make_absolute(true, 'microsoft.com').should == 'https://microsoft.com/bob'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Morris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iron-extensions
|
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
85
|
version: '0'
|
86
86
|
requirements: []
|
87
87
|
rubyforge_project:
|
88
|
-
rubygems_version: 2.
|
88
|
+
rubygems_version: 2.7.6
|
89
89
|
signing_key:
|
90
90
|
specification_version: 4
|
91
91
|
summary: Helper classes for generating web content
|