libpath-ruby 0.2.1

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.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +61 -0
  3. data/examples/path_from_arg0.md +99 -0
  4. data/examples/path_from_arg0.rb +55 -0
  5. data/lib/libpath.rb +12 -0
  6. data/lib/libpath/constants.rb +42 -0
  7. data/lib/libpath/constants/unix.rb +146 -0
  8. data/lib/libpath/constants/windows.rb +147 -0
  9. data/lib/libpath/diagnostics.rb +6 -0
  10. data/lib/libpath/diagnostics/parameter_checking.rb +46 -0
  11. data/lib/libpath/exceptions.rb +7 -0
  12. data/lib/libpath/exceptions/libpath_base_exception.rb +77 -0
  13. data/lib/libpath/exceptions/malformed_name_exception.rb +85 -0
  14. data/lib/libpath/form.rb +42 -0
  15. data/lib/libpath/form/unix.rb +215 -0
  16. data/lib/libpath/form/windows.rb +358 -0
  17. data/lib/libpath/internal_/array.rb +96 -0
  18. data/lib/libpath/internal_/platform.rb +53 -0
  19. data/lib/libpath/internal_/string.rb +33 -0
  20. data/lib/libpath/internal_/unix/form.rb +160 -0
  21. data/lib/libpath/internal_/windows/drive.rb +84 -0
  22. data/lib/libpath/internal_/windows/form.rb +281 -0
  23. data/lib/libpath/libpath.rb +6 -0
  24. data/lib/libpath/path.rb +43 -0
  25. data/lib/libpath/path/unix.rb +170 -0
  26. data/lib/libpath/path/windows.rb +176 -0
  27. data/lib/libpath/util.rb +42 -0
  28. data/lib/libpath/util/unix.rb +414 -0
  29. data/lib/libpath/util/windows.rb +636 -0
  30. data/lib/libpath/version.rb +73 -0
  31. data/test/performance/benchmark_drive_letter.rb +31 -0
  32. data/test/performance/benchmark_gsub_string_or_regex.rb +45 -0
  33. data/test/performance/benchmark_rindex2.rb +109 -0
  34. data/test/performance/benchmark_split.rb +32 -0
  35. data/test/unit/compare/ts_all.rb +22 -0
  36. data/test/unit/equate/ts_all.rb +22 -0
  37. data/test/unit/equate/unix/ts_all.rb +22 -0
  38. data/test/unit/equate/windows/ts_all.rb +22 -0
  39. data/test/unit/exceptions/tc_libpath_base_exception.rb +27 -0
  40. data/test/unit/exceptions/tc_malformed_name_exception.rb +31 -0
  41. data/test/unit/exceptions/ts_all.rb +22 -0
  42. data/test/unit/form/tc_absolute_functions.rb +369 -0
  43. data/test/unit/form/ts_all.rb +22 -0
  44. data/test/unit/form/unix/tc_absolute_functions.rb +269 -0
  45. data/test/unit/form/unix/ts_all.rb +22 -0
  46. data/test/unit/form/windows/tc_absolute_functions.rb +854 -0
  47. data/test/unit/form/windows/ts_all.rb +22 -0
  48. data/test/unit/internal_/tc_array.rb +62 -0
  49. data/test/unit/internal_/ts_all.rb +22 -0
  50. data/test/unit/internal_/unix/form/tc_slash_functions.rb +60 -0
  51. data/test/unit/internal_/unix/form/ts_all.rb +22 -0
  52. data/test/unit/internal_/unix/tc_split_path.rb +396 -0
  53. data/test/unit/internal_/unix/ts_all.rb +22 -0
  54. data/test/unit/internal_/windows/form/tc_get_windows_volume.rb +220 -0
  55. data/test/unit/internal_/windows/form/tc_slash_functions.rb +61 -0
  56. data/test/unit/internal_/windows/form/ts_all.rb +22 -0
  57. data/test/unit/internal_/windows/tc_split_path.rb +881 -0
  58. data/test/unit/internal_/windows/ts_all.rb +22 -0
  59. data/test/unit/parse/ts_all.rb +22 -0
  60. data/test/unit/path/tc_path.rb +778 -0
  61. data/test/unit/path/ts_all.rb +22 -0
  62. data/test/unit/path/unix/tc_path.rb +565 -0
  63. data/test/unit/path/unix/ts_all.rb +22 -0
  64. data/test/unit/path/windows/tc_path.rb +630 -0
  65. data/test/unit/path/windows/ts_all.rb +22 -0
  66. data/test/unit/tc_version.rb +47 -0
  67. data/test/unit/ts_all.rb +22 -0
  68. data/test/unit/util/tc_combine_paths.rb +179 -0
  69. data/test/unit/util/tc_derive_relative_path.rb +19 -0
  70. data/test/unit/util/tc_make_path_canonical.rb +228 -0
  71. data/test/unit/util/ts_all.rb +22 -0
  72. data/test/unit/util/unix/tc_combine_paths.rb +65 -0
  73. data/test/unit/util/unix/tc_derive_relative_path.rb +123 -0
  74. data/test/unit/util/unix/tc_make_path_absolute.rb +117 -0
  75. data/test/unit/util/unix/tc_make_path_canonical.rb +139 -0
  76. data/test/unit/util/unix/ts_all.rb +22 -0
  77. data/test/unit/util/windows/tc_combine_paths.rb +131 -0
  78. data/test/unit/util/windows/tc_derive_relative_path.rb +155 -0
  79. data/test/unit/util/windows/tc_make_path_absolute.rb +163 -0
  80. data/test/unit/util/windows/tc_make_path_canonical.rb +220 -0
  81. data/test/unit/util/windows/ts_all.rb +22 -0
  82. metadata +144 -0
@@ -0,0 +1,220 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), *(['..'] * 4), 'lib')
4
+
5
+ require 'libpath/util/windows'
6
+
7
+ require 'test/unit'
8
+
9
+ class Test_LibPath_Util_Windows_make_path_canonical < Test::Unit::TestCase
10
+
11
+ F = ::LibPath::Util::Windows
12
+
13
+ def test_empty
14
+
15
+ assert_equal '', F.make_path_canonical('')
16
+ end
17
+
18
+ def test_one_dot
19
+
20
+ assert_equal '.\\', F.make_path_canonical('.')
21
+ assert_equal './', F.make_path_canonical('./')
22
+ assert_equal './', F.make_path_canonical('./.')
23
+ assert_equal './', F.make_path_canonical('./.')
24
+ assert_equal './', F.make_path_canonical('././')
25
+ assert_equal './', F.make_path_canonical('././.')
26
+ assert_equal './', F.make_path_canonical('./././')
27
+
28
+ assert_equal '.\\', F.make_path_canonical('.', make_slashes_canonical: true)
29
+ assert_equal '.\\', F.make_path_canonical('./', make_slashes_canonical: true)
30
+ assert_equal '.\\', F.make_path_canonical('./.', make_slashes_canonical: true)
31
+ assert_equal '.\\', F.make_path_canonical('./.', make_slashes_canonical: true)
32
+ assert_equal '.\\', F.make_path_canonical('././', make_slashes_canonical: true)
33
+ assert_equal '.\\', F.make_path_canonical('././.', make_slashes_canonical: true)
34
+ assert_equal '.\\', F.make_path_canonical('./././', make_slashes_canonical: true)
35
+
36
+ assert_equal '.\\', F.make_path_canonical('.')
37
+ assert_equal '.\\', F.make_path_canonical('.\\')
38
+ assert_equal '.\\', F.make_path_canonical('.\\.')
39
+ assert_equal '.\\', F.make_path_canonical('.\\.')
40
+ assert_equal '.\\', F.make_path_canonical('.\\.\\')
41
+ assert_equal '.\\', F.make_path_canonical('.\\.\\.')
42
+ assert_equal '.\\', F.make_path_canonical('.\\.\\.\\')
43
+
44
+ assert_equal './', F.make_path_canonical('.///./.')
45
+ assert_equal '.\\', F.make_path_canonical('.\\\\\\.\\.')
46
+ assert_equal './', F.make_path_canonical('./\\/./.')
47
+
48
+ assert_equal 'C:.\\', F.make_path_canonical('C:.')
49
+ end
50
+
51
+ def test_two_dots
52
+
53
+ assert_equal '..\\', F.make_path_canonical('..')
54
+ assert_equal '../', F.make_path_canonical('../')
55
+ assert_equal '..\\', F.make_path_canonical('..\\')
56
+ assert_equal '../', F.make_path_canonical('../.')
57
+ assert_equal '..\\', F.make_path_canonical('..\\.')
58
+ assert_equal '../', F.make_path_canonical('.././')
59
+ assert_equal '..\\', F.make_path_canonical('..\\.\\')
60
+ assert_equal '../', F.make_path_canonical('.././.')
61
+ assert_equal '..\\', F.make_path_canonical('..\\.\\.')
62
+
63
+ assert_equal '..\\', F.make_path_canonical('..', make_slashes_canonical: true)
64
+ assert_equal '..\\', F.make_path_canonical('../', make_slashes_canonical: true)
65
+ assert_equal '..\\', F.make_path_canonical('../.', make_slashes_canonical: true)
66
+ assert_equal '..\\', F.make_path_canonical('.././', make_slashes_canonical: true)
67
+ assert_equal '..\\', F.make_path_canonical('.././.', make_slashes_canonical: true)
68
+
69
+ assert_equal '..\\', F.make_path_canonical('..')
70
+ assert_equal '..\\', F.make_path_canonical('..\\')
71
+ assert_equal '..\\', F.make_path_canonical('..\\.')
72
+ assert_equal '..\\', F.make_path_canonical('..\\.\\')
73
+ assert_equal '..\\', F.make_path_canonical('..\\.\\.')
74
+
75
+ assert_equal 'C:..\\', F.make_path_canonical('C:..')
76
+ end
77
+
78
+ def test_unresolveable
79
+
80
+ assert_equal 'C:..\\', F.make_path_canonical('C:..')
81
+ assert_equal 'C:..\\', F.make_path_canonical('C:..\\')
82
+
83
+ assert_equal '..\\', F.make_path_canonical('..')
84
+ assert_equal '../', F.make_path_canonical('../')
85
+
86
+ assert_equal '../dir-1', F.make_path_canonical('../dir-1')
87
+ assert_equal '../dir-1/', F.make_path_canonical('../dir-1/')
88
+
89
+ assert_equal '../..\\', F.make_path_canonical('../..')
90
+ assert_equal '../../', F.make_path_canonical('../../')
91
+
92
+ assert_equal '../../dir-1', F.make_path_canonical('../../dir-1')
93
+ assert_equal '../../dir-1/', F.make_path_canonical('../../dir-1/')
94
+ end
95
+
96
+ def test_partially_resolveable
97
+
98
+ assert_equal '../', F.make_path_canonical('../dir-1/..')
99
+ assert_equal '../', F.make_path_canonical('../dir-1/../')
100
+
101
+ assert_equal '../abc', F.make_path_canonical('../dir-1/../abc')
102
+ assert_equal '../abc/', F.make_path_canonical('../dir-1/../abc/')
103
+
104
+ assert_equal '../../', F.make_path_canonical('../../dir-1/..')
105
+ assert_equal '../../', F.make_path_canonical('../../dir-1/../')
106
+
107
+ assert_equal '../../abc', F.make_path_canonical('../../dir-1/../abc')
108
+ assert_equal '../../abc/', F.make_path_canonical('../../dir-1/../abc/')
109
+
110
+ assert_equal '\\dir.14\\', F.make_path_canonical('\\dir.14\\dir.2\\..')
111
+ assert_equal 'dir.14\\', F.make_path_canonical('dir.14\\dir.2\\..')
112
+
113
+ assert_equal '/dir.14/', F.make_path_canonical('/dir.14/dir.2/..')
114
+ assert_equal 'dir.14/', F.make_path_canonical('dir.14/dir.2/..')
115
+
116
+ assert_equal '\\', F.make_path_canonical('\\dir.14\\dir.2\\..\\..')
117
+ assert_equal '\\', F.make_path_canonical('\\dir.14\\dir.2\\..\\..\\..')
118
+ assert_equal '.\\', F.make_path_canonical('dir.14\\dir.2\\..\\..')
119
+
120
+ assert_equal '/', F.make_path_canonical('/dir.14/dir.2/../..')
121
+ assert_equal '/', F.make_path_canonical('/dir.14/dir.2/../../..')
122
+ assert_equal '.\\', F.make_path_canonical('dir.14/dir.2/../..')
123
+ end
124
+
125
+ def test_basenames
126
+
127
+ assert_equal 'a', F.make_path_canonical('a')
128
+
129
+ assert_equal 'file.ext', F.make_path_canonical('file.ext')
130
+
131
+ assert_equal '..\\', F.make_path_canonical('..')
132
+ end
133
+
134
+ def test_no_dots
135
+
136
+ assert_equal 'abc/def', F.make_path_canonical('abc/def')
137
+ assert_equal 'abc\\def', F.make_path_canonical('abc/def', make_slashes_canonical: true)
138
+ assert_equal 'abc\\def', F.make_path_canonical('abc//def')
139
+ end
140
+
141
+ def test_one_dots_directories
142
+
143
+ assert_equal 'abc', F.make_path_canonical('./abc')
144
+ assert_equal 'abc', F.make_path_canonical('.\\abc')
145
+
146
+ assert_equal 'c:abc', F.make_path_canonical('c:./abc')
147
+ assert_equal 'c:abc', F.make_path_canonical('c:.\\abc')
148
+
149
+
150
+ assert_equal 'abc', F.make_path_canonical('././abc')
151
+ assert_equal 'abc', F.make_path_canonical('.\\./abc')
152
+ assert_equal 'abc', F.make_path_canonical('.\\.\\abc')
153
+
154
+ assert_equal 'abc', F.make_path_canonical('./././././././././abc')
155
+
156
+ assert_equal 'abc/', F.make_path_canonical('abc/./')
157
+ assert_equal 'abc\\', F.make_path_canonical('abc\\.\\')
158
+ assert_equal 'abc/', F.make_path_canonical('abc/.\\')
159
+
160
+ assert_equal 'abc/', F.make_path_canonical('./abc/./')
161
+ assert_equal 'abc\\', F.make_path_canonical('./abc/./', make_slashes_canonical: true)
162
+ assert_equal 'abc/', F.make_path_canonical('./abc/.')
163
+ assert_equal 'abc\\', F.make_path_canonical('./abc/.', make_slashes_canonical: true)
164
+ end
165
+
166
+ def test_two_dots_directories
167
+
168
+ assert_equal '../', F.make_path_canonical('../')
169
+ assert_equal '..\\', F.make_path_canonical('..\\')
170
+
171
+ assert_equal '../abc', F.make_path_canonical('../abc')
172
+ assert_equal '..\\abc', F.make_path_canonical('..\\abc')
173
+
174
+ assert_equal '.\\', F.make_path_canonical('abc/..')
175
+ assert_equal '.\\', F.make_path_canonical('abc\\..')
176
+
177
+ assert_equal './', F.make_path_canonical('abc/../')
178
+ assert_equal '.\\', F.make_path_canonical('abc\\..\\')
179
+
180
+ assert_equal 'def', F.make_path_canonical('abc/../def')
181
+ assert_equal 'def', F.make_path_canonical('abc\\..\\def')
182
+
183
+ assert_equal '.\\', F.make_path_canonical('abc/../def/..')
184
+ assert_equal '.\\', F.make_path_canonical('abc\\..\\def\\..')
185
+
186
+ assert_equal './', F.make_path_canonical('abc/../def/../')
187
+ assert_equal '.\\', F.make_path_canonical('abc\\../def/..\\')
188
+ assert_equal './', F.make_path_canonical('abc\\../def/../')
189
+
190
+ assert_equal '../dir-2/', F.make_path_canonical('../dir-1/../dir-2/')
191
+ assert_equal '..\\dir-2/', F.make_path_canonical('..\\dir-1\\../dir-2/')
192
+ assert_equal '../dir-2/', F.make_path_canonical('../dir-1\\..\\dir-2/')
193
+ assert_equal '../dir-2\\', F.make_path_canonical('../dir-1/../dir-2\\')
194
+ assert_equal '..\\dir-2\\', F.make_path_canonical('..\\dir-1/../dir-2\\')
195
+ assert_equal '..\\dir-2\\', F.make_path_canonical('..\\dir-1\\..\\dir-2\\')
196
+
197
+ assert_equal '/', F.make_path_canonical('/abc/../def/../')
198
+ assert_equal '/', F.make_path_canonical('/abc\\../def/..\\')
199
+ assert_equal '/', F.make_path_canonical('/abc\\../def/../')
200
+
201
+ assert_equal '\\', F.make_path_canonical('/abc/../def/../', make_slashes_canonical: true)
202
+ assert_equal '\\', F.make_path_canonical('/abc\\../def/..\\', make_slashes_canonical: true)
203
+ assert_equal '\\', F.make_path_canonical('/abc\\../def/../', make_slashes_canonical: true)
204
+
205
+ assert_equal '\\', F.make_path_canonical('\\abc/../def/../')
206
+ assert_equal '\\', F.make_path_canonical('\\abc\\../def/..\\')
207
+ assert_equal '\\', F.make_path_canonical('\\abc\\../def/../')
208
+
209
+ assert_equal '../dir-2/', F.make_path_canonical('../dir-1/../dir-2/')
210
+ assert_equal '../dir-2', F.make_path_canonical('../dir-1/../dir-2')
211
+ assert_equal '/dir-2', F.make_path_canonical('/../dir-1/../dir-2')
212
+ assert_equal '/', F.make_path_canonical('/..')
213
+ assert_equal 'C:../dir-2/', F.make_path_canonical('C:../dir-1/../dir-2/')
214
+ assert_equal 'C:../dir-2', F.make_path_canonical('C:../dir-1/../dir-2')
215
+ assert_equal 'C:/dir-2', F.make_path_canonical('C:/../dir-1/../dir-2')
216
+ assert_equal 'C:/', F.make_path_canonical('C:/../')
217
+ assert_equal 'C:/', F.make_path_canonical('C:/..')
218
+ end
219
+ end
220
+
@@ -0,0 +1,22 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # executes all other tests
4
+
5
+ this_dir = File.expand_path(File.dirname(__FILE__))
6
+
7
+ # all tc_*rb in current directory
8
+ Dir[File.join(this_dir, 'tc_*rb')].each do |file|
9
+
10
+ $stderr.puts "requiring file '#{file}'" if $DEBUG
11
+
12
+ require file
13
+ end
14
+
15
+ # all ts_*rb in immediate sub-directories
16
+ Dir[File.join(this_dir, '*', 'ts_*rb')].each do |file|
17
+
18
+ $stderr.puts "requiring file '#{file}'" if $DEBUG
19
+
20
+ require file
21
+ end
22
+
metadata ADDED
@@ -0,0 +1,144 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: libpath-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Matt Wilson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-04-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: xqsr3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.21.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 0.21.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.0'
33
+ description: 'Path parsing library for Ruby
34
+
35
+ '
36
+ email: matthew@synesis.com.au
37
+ executables: []
38
+ extensions: []
39
+ extra_rdoc_files: []
40
+ files:
41
+ - README.md
42
+ - examples/path_from_arg0.md
43
+ - examples/path_from_arg0.rb
44
+ - lib/libpath.rb
45
+ - lib/libpath/constants.rb
46
+ - lib/libpath/constants/unix.rb
47
+ - lib/libpath/constants/windows.rb
48
+ - lib/libpath/diagnostics.rb
49
+ - lib/libpath/diagnostics/parameter_checking.rb
50
+ - lib/libpath/exceptions.rb
51
+ - lib/libpath/exceptions/libpath_base_exception.rb
52
+ - lib/libpath/exceptions/malformed_name_exception.rb
53
+ - lib/libpath/form.rb
54
+ - lib/libpath/form/unix.rb
55
+ - lib/libpath/form/windows.rb
56
+ - lib/libpath/internal_/array.rb
57
+ - lib/libpath/internal_/platform.rb
58
+ - lib/libpath/internal_/string.rb
59
+ - lib/libpath/internal_/unix/form.rb
60
+ - lib/libpath/internal_/windows/drive.rb
61
+ - lib/libpath/internal_/windows/form.rb
62
+ - lib/libpath/libpath.rb
63
+ - lib/libpath/path.rb
64
+ - lib/libpath/path/unix.rb
65
+ - lib/libpath/path/windows.rb
66
+ - lib/libpath/util.rb
67
+ - lib/libpath/util/unix.rb
68
+ - lib/libpath/util/windows.rb
69
+ - lib/libpath/version.rb
70
+ - test/performance/benchmark_drive_letter.rb
71
+ - test/performance/benchmark_gsub_string_or_regex.rb
72
+ - test/performance/benchmark_rindex2.rb
73
+ - test/performance/benchmark_split.rb
74
+ - test/unit/compare/ts_all.rb
75
+ - test/unit/equate/ts_all.rb
76
+ - test/unit/equate/unix/ts_all.rb
77
+ - test/unit/equate/windows/ts_all.rb
78
+ - test/unit/exceptions/tc_libpath_base_exception.rb
79
+ - test/unit/exceptions/tc_malformed_name_exception.rb
80
+ - test/unit/exceptions/ts_all.rb
81
+ - test/unit/form/tc_absolute_functions.rb
82
+ - test/unit/form/ts_all.rb
83
+ - test/unit/form/unix/tc_absolute_functions.rb
84
+ - test/unit/form/unix/ts_all.rb
85
+ - test/unit/form/windows/tc_absolute_functions.rb
86
+ - test/unit/form/windows/ts_all.rb
87
+ - test/unit/internal_/tc_array.rb
88
+ - test/unit/internal_/ts_all.rb
89
+ - test/unit/internal_/unix/form/tc_slash_functions.rb
90
+ - test/unit/internal_/unix/form/ts_all.rb
91
+ - test/unit/internal_/unix/tc_split_path.rb
92
+ - test/unit/internal_/unix/ts_all.rb
93
+ - test/unit/internal_/windows/form/tc_get_windows_volume.rb
94
+ - test/unit/internal_/windows/form/tc_slash_functions.rb
95
+ - test/unit/internal_/windows/form/ts_all.rb
96
+ - test/unit/internal_/windows/tc_split_path.rb
97
+ - test/unit/internal_/windows/ts_all.rb
98
+ - test/unit/parse/ts_all.rb
99
+ - test/unit/path/tc_path.rb
100
+ - test/unit/path/ts_all.rb
101
+ - test/unit/path/unix/tc_path.rb
102
+ - test/unit/path/unix/ts_all.rb
103
+ - test/unit/path/windows/tc_path.rb
104
+ - test/unit/path/windows/ts_all.rb
105
+ - test/unit/tc_version.rb
106
+ - test/unit/ts_all.rb
107
+ - test/unit/util/tc_combine_paths.rb
108
+ - test/unit/util/tc_derive_relative_path.rb
109
+ - test/unit/util/tc_make_path_canonical.rb
110
+ - test/unit/util/ts_all.rb
111
+ - test/unit/util/unix/tc_combine_paths.rb
112
+ - test/unit/util/unix/tc_derive_relative_path.rb
113
+ - test/unit/util/unix/tc_make_path_absolute.rb
114
+ - test/unit/util/unix/tc_make_path_canonical.rb
115
+ - test/unit/util/unix/ts_all.rb
116
+ - test/unit/util/windows/tc_combine_paths.rb
117
+ - test/unit/util/windows/tc_derive_relative_path.rb
118
+ - test/unit/util/windows/tc_make_path_absolute.rb
119
+ - test/unit/util/windows/tc_make_path_canonical.rb
120
+ - test/unit/util/windows/ts_all.rb
121
+ homepage: http://github.com/synesissoftware/libpath.Ruby
122
+ licenses:
123
+ - BSD-3-Clause
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '2.0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubygems_version: 3.0.1
141
+ signing_key:
142
+ specification_version: 4
143
+ summary: libpath.Ruby
144
+ test_files: []