file-uri 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/file-uri.rb +1 -1
- data/lib/{file-uri-common.rb → file-uri/common.rb} +5 -1
- data/lib/file-uri/win.rb +1 -1
- data/test/test-file-uri.rb +9 -0
- data/test/test-win-file-uri.rb +9 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54ee4ae8cbd94f94495f686a8fcd6b76b8b2582b
|
4
|
+
data.tar.gz: b1011ec0178af3d464cbf3fe13e7dc7c79ba2cb4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71d1065ba4be44fddb18c0df6ad7fe7e28cdf60c326eb02501e6ae0ff55288555f7842e51716511383b4c7246be1424ee2352c0c701183a7e590ca50d527e029
|
7
|
+
data.tar.gz: 4f9e8018087902fbb3790d098a51648abba23b048471a3b5213ca9527b3b76fce97d13bc0cb06c363bd5ac00c0bd7e61ae3fae8286b938ec007a97c2e5e381dc
|
data/lib/file-uri.rb
CHANGED
@@ -19,11 +19,13 @@ module URI
|
|
19
19
|
##
|
20
20
|
# localhost:
|
21
21
|
#
|
22
|
+
# * :any => any non-empty host is local
|
22
23
|
# * true => 'file://localhost/' is local, 'file://example.com/' is non-local
|
23
24
|
# * false => 'file://localhost/' is non-local
|
24
25
|
#
|
25
26
|
def local? localhost: true
|
26
27
|
if host && !host.empty?
|
28
|
+
return true if localhost == :any
|
27
29
|
return localhost && (host.downcase == LOCALHOST)
|
28
30
|
elsif path.start_with? DBL_SLASH
|
29
31
|
return false
|
@@ -34,6 +36,7 @@ module URI
|
|
34
36
|
##
|
35
37
|
# localhost:
|
36
38
|
#
|
39
|
+
# * :any => any non-empty host is local
|
37
40
|
# * true => 'file://localhost/' is local, 'file://example.com/' is non-local
|
38
41
|
# * false => 'file://localhost/' is non-local
|
39
42
|
#
|
@@ -45,12 +48,13 @@ module URI
|
|
45
48
|
##
|
46
49
|
# localhost:
|
47
50
|
#
|
51
|
+
# * :any => any non-empty host is local
|
48
52
|
# * true => 'file://localhost/' is local, 'file://example.com/' is non-local
|
49
53
|
# * false => 'file://localhost/' is non-local
|
50
54
|
#
|
51
55
|
def to_unc localhost: true
|
52
56
|
if host && !host.empty?
|
53
|
-
|
57
|
+
if localhost != :any && (!localhost || (host.downcase != LOCALHOST))
|
54
58
|
unc = DBL_BACKSLASH + host
|
55
59
|
unc += COLON + port if port
|
56
60
|
unc += path.gsub(%r[/], BACKSLASH)
|
data/lib/file-uri/win.rb
CHANGED
data/test/test-file-uri.rb
CHANGED
@@ -37,14 +37,17 @@ class Test_file_uri < Test::Unit::TestCase
|
|
37
37
|
assert_equal( false, uri.local?(localhost: false) )
|
38
38
|
assert_equal( false, uri.local?(localhost: true) )
|
39
39
|
assert_equal( false, uri.local? )
|
40
|
+
assert_equal( false, uri.local?(localhost: :any) )
|
40
41
|
|
41
42
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: false) }
|
42
43
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: true) }
|
43
44
|
assert_raise(RuntimeError) { uri.to_file_path }
|
45
|
+
assert_raise(RuntimeError) { uri.to_file_path(localhost: :any) }
|
44
46
|
|
45
47
|
assert_equal( unc, uri.to_unc(localhost: false) )
|
46
48
|
assert_equal( unc, uri.to_unc(localhost: true) )
|
47
49
|
assert_equal( unc, uri.to_unc )
|
50
|
+
assert_equal( unc, uri.to_unc(localhost: :any) )
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
@@ -62,14 +65,17 @@ class Test_file_uri < Test::Unit::TestCase
|
|
62
65
|
assert_equal( false, uri.local?(localhost: false) )
|
63
66
|
assert_equal( false, uri.local?(localhost: true) )
|
64
67
|
assert_equal( false, uri.local? )
|
68
|
+
assert_equal( true, uri.local?(localhost: :any) )
|
65
69
|
|
66
70
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: false) }
|
67
71
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: true) }
|
68
72
|
assert_raise(RuntimeError) { uri.to_file_path }
|
73
|
+
assert_equal( path, uri.to_file_path(localhost: :any) )
|
69
74
|
|
70
75
|
assert_equal( unc, uri.to_unc(localhost: false) )
|
71
76
|
assert_equal( unc, uri.to_unc(localhost: true) )
|
72
77
|
assert_equal( unc, uri.to_unc )
|
78
|
+
assert_raise(RuntimeError) { uri.to_unc(localhost: :any) }
|
73
79
|
end
|
74
80
|
end
|
75
81
|
|
@@ -86,14 +92,17 @@ class Test_file_uri < Test::Unit::TestCase
|
|
86
92
|
assert_equal( false, uri.local?(localhost: false) )
|
87
93
|
assert_equal( true, uri.local?(localhost: true) )
|
88
94
|
assert_equal( true, uri.local? )
|
95
|
+
assert_equal( true, uri.local?(localhost: :any) )
|
89
96
|
|
90
97
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: false) }
|
91
98
|
assert_equal( path, uri.to_file_path(localhost: true) )
|
92
99
|
assert_equal( path, uri.to_file_path )
|
100
|
+
assert_equal( path, uri.to_file_path(localhost: :any) )
|
93
101
|
|
94
102
|
assert_equal( unc, uri.to_unc(localhost: false) )
|
95
103
|
assert_raise(RuntimeError) { uri.to_unc(localhost: true) }
|
96
104
|
assert_raise(RuntimeError) { uri.to_unc }
|
105
|
+
assert_raise(RuntimeError) { uri.to_unc(localhost: :any) }
|
97
106
|
end
|
98
107
|
end
|
99
108
|
|
data/test/test-win-file-uri.rb
CHANGED
@@ -49,14 +49,17 @@ class Test_win_file_uri < Test::Unit::TestCase
|
|
49
49
|
assert_equal( false, uri.local?(localhost: false) )
|
50
50
|
assert_equal( false, uri.local?(localhost: true) )
|
51
51
|
assert_equal( false, uri.local? )
|
52
|
+
assert_equal( false, uri.local?(localhost: :any) )
|
52
53
|
|
53
54
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: false) }
|
54
55
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: true) }
|
55
56
|
assert_raise(RuntimeError) { uri.to_file_path }
|
57
|
+
assert_raise(RuntimeError) { uri.to_file_path(localhost: :any) }
|
56
58
|
|
57
59
|
assert_equal( unc, uri.to_unc(localhost: false) )
|
58
60
|
assert_equal( unc, uri.to_unc(localhost: true) )
|
59
61
|
assert_equal( unc, uri.to_unc )
|
62
|
+
assert_equal( unc, uri.to_unc(localhost: :any) )
|
60
63
|
end
|
61
64
|
end
|
62
65
|
|
@@ -74,14 +77,17 @@ class Test_win_file_uri < Test::Unit::TestCase
|
|
74
77
|
assert_equal( false, uri.local?(localhost: false) )
|
75
78
|
assert_equal( false, uri.local?(localhost: true) )
|
76
79
|
assert_equal( false, uri.local? )
|
80
|
+
assert_equal( true, uri.local?(localhost: :any) )
|
77
81
|
|
78
82
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: false) }
|
79
83
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: true) }
|
80
84
|
assert_raise(RuntimeError) { uri.to_file_path }
|
85
|
+
assert_equal( path, uri.to_file_path(localhost: :any) )
|
81
86
|
|
82
87
|
assert_equal( unc, uri.to_unc(localhost: false) )
|
83
88
|
assert_equal( unc, uri.to_unc(localhost: true) )
|
84
89
|
assert_equal( unc, uri.to_unc )
|
90
|
+
assert_raise(RuntimeError) { uri.to_unc(localhost: :any) }
|
85
91
|
end
|
86
92
|
end
|
87
93
|
|
@@ -100,14 +106,17 @@ class Test_win_file_uri < Test::Unit::TestCase
|
|
100
106
|
assert_equal( false, uri.local?(localhost: false) )
|
101
107
|
assert_equal( true, uri.local?(localhost: true) )
|
102
108
|
assert_equal( true, uri.local? )
|
109
|
+
assert_equal( true, uri.local?(localhost: :any) )
|
103
110
|
|
104
111
|
assert_raise(RuntimeError) { uri.to_file_path(localhost: false) }
|
105
112
|
assert_equal( file, uri.to_file_path(localhost: true) )
|
106
113
|
assert_equal( file, uri.to_file_path )
|
114
|
+
assert_equal( file, uri.to_file_path(localhost: :any) )
|
107
115
|
|
108
116
|
assert_equal( unc, uri.to_unc(localhost: false) )
|
109
117
|
assert_raise(RuntimeError) { uri.to_unc(localhost: true) }
|
110
118
|
assert_raise(RuntimeError) { uri.to_unc }
|
119
|
+
assert_raise(RuntimeError) { uri.to_unc(localhost: :any) }
|
111
120
|
end
|
112
121
|
end
|
113
122
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: file-uri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Kerwin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
== file-uri – the "file" URI Scheme
|
@@ -22,8 +22,8 @@ executables: []
|
|
22
22
|
extensions: []
|
23
23
|
extra_rdoc_files: []
|
24
24
|
files:
|
25
|
-
- lib/file-uri-common.rb
|
26
25
|
- lib/file-uri.rb
|
26
|
+
- lib/file-uri/common.rb
|
27
27
|
- lib/file-uri/win.rb
|
28
28
|
- test/test-file-uri.rb
|
29
29
|
- test/test-win-file-uri.rb
|