iron-web 1.1.5 → 1.1.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|