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 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