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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e0ae26b5b55908940fb087539868211db2c4fe87
4
- data.tar.gz: 7a48ab544ab37e93db0d321025e8de437561f26b
2
+ SHA256:
3
+ metadata.gz: a6764a4ad1a9cb02a61bb112b2c2cbe1f15a834df243016b783343a4c448d8ca
4
+ data.tar.gz: 19dfff119eb150c98bee372a242ad40e5394e1cef5a488c91be60164a9dca4a6
5
5
  SHA512:
6
- metadata.gz: 70a20cfa63fe5d761ce8f7435a6d41d7e448d7410804c654f16e5bc7d5418abc4e23613e72e172cbcd0429dbc4998fdad8ea8295626291cae0d59c6b8c2c9545
7
- data.tar.gz: f33c36381b5babc95a9b4410368ce6a92fc19d747981712826b8399558fce5602eea16cf51d36487754dc343714ec6c192c0d04f62b358d6c1f037f0c6fa4296
6
+ metadata.gz: e283a8f8f8d94d12dae3029f26f69fd74e5a5754219f03c0797b0ee3d73452e7f1f02332a9790ab99f8e934409c147b0f4d6832bb38af17712c7b12ca7c969cb
7
+ data.tar.gz: beb061e2269af5cd42cb62a0a494f8599c0073fbe7ec72ebce98ad72ddebd02bc1f62f9739658e77123e842222fc6f170330838bebc84af3566fdd0a0b795c1b
@@ -1,3 +1,7 @@
1
+ == 1.1.6 / 2018-02-23
2
+
3
+ * Add ability to set a default port for Url#make_absolute
4
+
1
5
  == 1.1.5 / 2015-09-08
2
6
 
3
7
  * Remove requirement to require 'iron/web' instead of more obvious 'iron-web'
@@ -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
 
@@ -1 +1 @@
1
- 1.1.5
1
+ 1.1.6
@@ -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 = nil)
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 ||= (server || Url.default_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 = nil
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]
@@ -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.5
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: 2015-09-08 00:00:00.000000000 Z
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.4.3
88
+ rubygems_version: 2.7.6
89
89
  signing_key:
90
90
  specification_version: 4
91
91
  summary: Helper classes for generating web content