pathname2 1.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +5 -0
- data/CHANGES +171 -0
- data/LICENSE +177 -0
- data/MANIFEST +40 -0
- data/README +97 -0
- data/Rakefile +222 -0
- data/benchmarks/bench_pathname.rb +127 -0
- data/benchmarks/bench_plus.rb +34 -0
- data/certs/djberg96_pub.pem +26 -0
- data/examples/example_pathname.rb +25 -0
- data/lib/pathname2.rb +1140 -0
- data/pathname2.gemspec +46 -0
- data/test/test_pathname.rb +486 -0
- data/test/test_version.rb +17 -0
- data/test/windows/test_append.rb +59 -0
- data/test/windows/test_aref.rb +37 -0
- data/test/windows/test_ascend.rb +51 -0
- data/test/windows/test_children.rb +42 -0
- data/test/windows/test_clean.rb +50 -0
- data/test/windows/test_clean_bang.rb +50 -0
- data/test/windows/test_constructor.rb +48 -0
- data/test/windows/test_descend.rb +51 -0
- data/test/windows/test_drive_number.rb +58 -0
- data/test/windows/test_each.rb +28 -0
- data/test/windows/test_facade.rb +64 -0
- data/test/windows/test_is_absolute.rb +47 -0
- data/test/windows/test_is_relative.rb +46 -0
- data/test/windows/test_is_root.rb +44 -0
- data/test/windows/test_is_unc.rb +51 -0
- data/test/windows/test_join.rb +52 -0
- data/test/windows/test_long_path.rb +41 -0
- data/test/windows/test_misc.rb +33 -0
- data/test/windows/test_parent.rb +37 -0
- data/test/windows/test_pstrip.rb +42 -0
- data/test/windows/test_pstrip_bang.rb +46 -0
- data/test/windows/test_realpath.rb +39 -0
- data/test/windows/test_relative_path_from.rb +60 -0
- data/test/windows/test_root.rb +59 -0
- data/test/windows/test_short_path.rb +41 -0
- data/test/windows/test_to_a.rb +46 -0
- data/test/windows/test_undecorate.rb +47 -0
- data/test/windows/test_undecorate_bang.rb +53 -0
- metadata +176 -0
- metadata.gz.sig +1 -0
@@ -0,0 +1,42 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_pstrip.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#pstrip method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Pstrip < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new("C:/Program Files////")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "pstrip basic functionality" do
|
15
|
+
assert_respond_to(@path, :pstrip)
|
16
|
+
assert_nothing_raised{ @path.pstrip }
|
17
|
+
assert_kind_of(Pathname, @path.pstrip)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "pstrip returns expected result for path with trailing slashes" do
|
21
|
+
assert_equal("C:\\Program Files", @path.pstrip)
|
22
|
+
assert_equal("C:\\Program Files", Pathname.new("C:\\Program Files\\\\").pstrip)
|
23
|
+
assert_equal("C:\\Program Files", Pathname.new("C:\\Program Files//\\").pstrip)
|
24
|
+
end
|
25
|
+
|
26
|
+
test "pstrip returns the path as is if it does not contain a trailing slash" do
|
27
|
+
assert_equal("C:\\Program Files", Pathname.new("C:\\Program Files").pstrip)
|
28
|
+
assert_equal("", Pathname.new("").pstrip)
|
29
|
+
end
|
30
|
+
|
31
|
+
test "pstrip method is not destructive" do
|
32
|
+
str = 'C:/Program Files////'
|
33
|
+
assert_nothing_raised{ Pathname.new(str).pstrip }
|
34
|
+
assert_equal('C:/Program Files////', str)
|
35
|
+
end
|
36
|
+
|
37
|
+
def teardown
|
38
|
+
@abs_path = nil
|
39
|
+
@unc_path = nil
|
40
|
+
@rel_path = nil
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_pstrip_bang.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#pstrip! method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_PstripBang < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new("C:/Program Files////")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "pstrip! basic functionality" do
|
15
|
+
assert_respond_to(@path, :pstrip!)
|
16
|
+
assert_nothing_raised{ @path.pstrip! }
|
17
|
+
assert_kind_of(Pathname, @path.pstrip!)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "pstrip! returns expected result for path with trailing slashes" do
|
21
|
+
assert_equal("C:\\Program Files", @path.pstrip!)
|
22
|
+
assert_equal("C:\\Program Files", Pathname.new("C:\\Program Files\\\\").pstrip!)
|
23
|
+
assert_equal("C:\\Program Files", Pathname.new("C:\\Program Files//\\").pstrip!)
|
24
|
+
end
|
25
|
+
|
26
|
+
test "pstrip! returns the path as is if it does not contain a trailing slash" do
|
27
|
+
assert_equal("C:\\Program Files", Pathname.new("C:\\Program Files").pstrip!)
|
28
|
+
assert_equal("", Pathname.new("").pstrip!)
|
29
|
+
end
|
30
|
+
|
31
|
+
test "pstrip! alters pathname object" do
|
32
|
+
path = Pathname.new('C:/Program Files////')
|
33
|
+
assert_nothing_raised{ path.pstrip! }
|
34
|
+
assert_equal('C:\Program Files', path.to_s)
|
35
|
+
end
|
36
|
+
|
37
|
+
test "pstrip! method does not modify original constructor argument" do
|
38
|
+
str = 'C:/Program Files////'
|
39
|
+
assert_nothing_raised{ Pathname.new(str).pstrip! }
|
40
|
+
assert_equal('C:/Program Files////', str)
|
41
|
+
end
|
42
|
+
|
43
|
+
def teardown
|
44
|
+
@path = nil
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_realpath.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#realpath method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Realpath < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@cwd = Dir.pwd.tr('/', "\\")
|
12
|
+
@path = Pathname.new(Dir.pwd)
|
13
|
+
end
|
14
|
+
|
15
|
+
test "realpath basic functionality" do
|
16
|
+
assert_respond_to(@path, :realpath)
|
17
|
+
assert_nothing_raised{ @path.realpath }
|
18
|
+
assert_kind_of(String, @path.realpath)
|
19
|
+
end
|
20
|
+
|
21
|
+
test "realpath returns the expected result" do
|
22
|
+
assert_equal(@cwd, @path.realpath)
|
23
|
+
end
|
24
|
+
|
25
|
+
test "realpath fails if the path does not exist" do
|
26
|
+
assert_raise(Errno::ENOENT){ Pathname.new("C:/Bogus/AlsoBogus").realpath }
|
27
|
+
end
|
28
|
+
|
29
|
+
test "realpath method is not destructive" do
|
30
|
+
str = 'C:/Program Files'
|
31
|
+
assert_nothing_raised{ Pathname.new(str).realpath }
|
32
|
+
assert_equal('C:/Program Files', str)
|
33
|
+
end
|
34
|
+
|
35
|
+
def teardown
|
36
|
+
@cwd = nil
|
37
|
+
@path = nil
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_relative_path_from.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#relative_path_from method.
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_RelativePathFrom < Test::Unit::TestCase
|
10
|
+
def assert_relpath(result, dest, base)
|
11
|
+
assert_equal(result, Pathname.new(dest).relative_path_from(base))
|
12
|
+
end
|
13
|
+
|
14
|
+
def assert_relative_path_error(to, from)
|
15
|
+
assert_raise(ArgumentError){ Pathname.new(to).relative_path_from(from) }
|
16
|
+
end
|
17
|
+
|
18
|
+
test "relative_path_from works as expected between two relative paths" do
|
19
|
+
assert_relpath("..\\a", 'a', 'b')
|
20
|
+
assert_relpath("..\\a", 'a', 'b/')
|
21
|
+
assert_relpath("..\\a", 'a/', 'b')
|
22
|
+
assert_relpath("..\\a", 'a/', 'b/')
|
23
|
+
assert_relpath("..\\b", "a\\b", "a\\c")
|
24
|
+
assert_relpath("..\\a", "..\\a", "..\\b")
|
25
|
+
assert_relpath("..\\b\\c", "a\\b\\c", "a\\d")
|
26
|
+
assert_relpath("..", "a\\..", "a")
|
27
|
+
assert_relpath(".", "a\\..\\b", "b")
|
28
|
+
assert_relpath("a", "a", "b\\..")
|
29
|
+
assert_relpath("b\\c", "b\\c", "b\\..")
|
30
|
+
end
|
31
|
+
|
32
|
+
test "relative_path_from works as expected between two absolute paths" do
|
33
|
+
assert_relpath("..\\a", "c:\\a", "c:\\b")
|
34
|
+
assert_relpath("..\\a", "c:\\a", "c:\\b\\")
|
35
|
+
assert_relpath("..\\a", "c:\\a\\", "c:\\b")
|
36
|
+
assert_relpath("..\\a", "c:\\a\\", "c:\\b\\")
|
37
|
+
assert_relpath("c\\d", "c:\\a\\b\\c\\d", "c:\\a\\b")
|
38
|
+
assert_relpath("..\\..", "c:\\a\\b", "c:\\a\\b\\c\\d")
|
39
|
+
assert_relpath("..\\..\\..\\..\\e", "c:\\e", "c:\\a\\b\\c\\d")
|
40
|
+
assert_relpath("..\\a", "c:\\..\\a", "c:\\b")
|
41
|
+
assert_relpath(".", "c:\\a\\..\\..\\b", "c:\\b")
|
42
|
+
end
|
43
|
+
|
44
|
+
test "relative_path_from works as expected between for . and .." do
|
45
|
+
assert_relpath("a", "a", ".")
|
46
|
+
assert_relpath("..", ".", "a")
|
47
|
+
assert_relpath(".", ".", ".")
|
48
|
+
assert_relpath(".", "..", "..")
|
49
|
+
assert_relpath("..", "..", ".")
|
50
|
+
end
|
51
|
+
|
52
|
+
test "relative_path_from is not allowed between relative and absolute paths" do
|
53
|
+
assert_relative_path_error("c:\\", ".")
|
54
|
+
assert_relative_path_error(".", "c:\\")
|
55
|
+
assert_relative_path_error("a", "..")
|
56
|
+
assert_relative_path_error(".", "..")
|
57
|
+
assert_relative_path_error("C:\\Temp", "D:\\Temp")
|
58
|
+
assert_relative_path_error("\\\\Server\\Temp", "D:\\Temp")
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_root.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#root method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Root < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@abs_path = Pathname.new("C:\\Program Files")
|
12
|
+
@unc_path = Pathname.new("\\\\foo\\bar\\baz")
|
13
|
+
@rel_path = Pathname.new("foo\\bar\\baz")
|
14
|
+
end
|
15
|
+
|
16
|
+
test "root method returns expected results for absolute paths" do
|
17
|
+
assert_equal("C:\\", @abs_path.root)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "root method returns expected results for paths with forward slashes" do
|
21
|
+
assert_equal("C:\\", Pathname.new("C:/Program Files").root)
|
22
|
+
end
|
23
|
+
|
24
|
+
test "root method returns expected results for unc paths" do
|
25
|
+
assert_equal("\\\\foo\\bar", @unc_path.root)
|
26
|
+
assert_equal("\\\\foo", Pathname.new("\\\\foo").root)
|
27
|
+
assert_equal("\\\\", Pathname.new("\\\\").root)
|
28
|
+
end
|
29
|
+
|
30
|
+
test "root method returns dot for relative paths" do
|
31
|
+
assert_equal('.', @rel_path.root)
|
32
|
+
end
|
33
|
+
|
34
|
+
test "root method returns expected result for root path" do
|
35
|
+
assert_equal("Z:\\", Pathname.new("Z:\\").root)
|
36
|
+
assert_equal("\\\\foo\\bar", Pathname.new("\\\\foo\\bar").root)
|
37
|
+
end
|
38
|
+
|
39
|
+
test "root method returns expected result for empty string" do
|
40
|
+
assert_equal(".", Pathname.new("").root)
|
41
|
+
end
|
42
|
+
|
43
|
+
test "root method returns expected result for dot and dotdot" do
|
44
|
+
assert_equal(".", Pathname.new("..").root)
|
45
|
+
assert_equal(".", Pathname.new(".").root)
|
46
|
+
end
|
47
|
+
|
48
|
+
test "root method is not destructive" do
|
49
|
+
str = 'C:/Program Files'
|
50
|
+
assert_nothing_raised{ Pathname.new(str).root }
|
51
|
+
assert_equal('C:/Program Files', str)
|
52
|
+
end
|
53
|
+
|
54
|
+
def teardown
|
55
|
+
@abs_path = nil
|
56
|
+
@unc_path = nil
|
57
|
+
@rel_path = nil
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_short_path.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#short_path method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_ShortPath < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@abs_path = Pathname.new("C:\\Program Files")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "short_path basic functionality" do
|
15
|
+
assert_respond_to(@abs_path, :short_path)
|
16
|
+
assert_nothing_raised{ @abs_path.short_path }
|
17
|
+
assert_kind_of(String, @abs_path.short_path)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "short_path returns the expected result" do
|
21
|
+
assert_equal("C:\\PROGRA~1", @abs_path.short_path)
|
22
|
+
end
|
23
|
+
|
24
|
+
test "short_path returns the same string if it's already short" do
|
25
|
+
assert_equal("C:\\", Pathname.new("C:/").short_path)
|
26
|
+
end
|
27
|
+
|
28
|
+
test "short_path fails if the path does not exist" do
|
29
|
+
assert_raise(Errno::ESRCH){ Pathname.new("C:/Bogus/AlsoBogus").short_path }
|
30
|
+
end
|
31
|
+
|
32
|
+
test "short_path method is not destructive" do
|
33
|
+
str = 'C:/Program Files'
|
34
|
+
assert_nothing_raised{ Pathname.new(str).short_path }
|
35
|
+
assert_equal('C:/Program Files', str)
|
36
|
+
end
|
37
|
+
|
38
|
+
def teardown
|
39
|
+
@abs_path = nil
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_to_a.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#to_a method.
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_ToA < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new('C:/Program Files/foo')
|
12
|
+
end
|
13
|
+
|
14
|
+
test "to_a basic functionality" do
|
15
|
+
assert_respond_to(@path, :to_a)
|
16
|
+
assert_nothing_raised{ @path.to_a }
|
17
|
+
assert_kind_of(Array, @path.to_a)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "to_a returns the expected results for standard paths" do
|
21
|
+
assert_equal(['C:'], Pathname.new('C:/').to_a)
|
22
|
+
assert_equal(['C:', 'Program Files'], Pathname.new('C:/Program Files').to_a)
|
23
|
+
assert_equal(['C:', 'Program Files', 'Stuff'], Pathname.new('C:/Program Files/Stuff').to_a)
|
24
|
+
assert_equal(['C:', 'Users'], Pathname.new("C:\\Users").to_a)
|
25
|
+
end
|
26
|
+
|
27
|
+
test "to_a returns the expected results for unc paths" do
|
28
|
+
assert_equal(['foo', 'bar', 'baz'], Pathname.new('//foo/bar/baz').to_a)
|
29
|
+
assert_equal(['foo', 'bar'], Pathname.new('//foo/bar').to_a)
|
30
|
+
assert_equal(['foo'], Pathname.new('//foo').to_a)
|
31
|
+
end
|
32
|
+
|
33
|
+
test "to_a returns the expected results for empty strings and empty unc paths" do
|
34
|
+
assert_equal([], Pathname.new('').to_a)
|
35
|
+
assert_equal([], Pathname.new('//').to_a)
|
36
|
+
end
|
37
|
+
|
38
|
+
test "to_a does not modify receiver" do
|
39
|
+
@path.to_a
|
40
|
+
assert_equal('C:\Program Files\foo', @path)
|
41
|
+
end
|
42
|
+
|
43
|
+
def teardown
|
44
|
+
@path = nil
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_undecorate.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#undecorate method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Undecorate < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@std = Pathname.new('C:/Path/File.txt')
|
12
|
+
end
|
13
|
+
|
14
|
+
test "undecorate basic functionality" do
|
15
|
+
assert_respond_to(@std, :undecorate)
|
16
|
+
assert_nothing_raised{ @std.undecorate }
|
17
|
+
end
|
18
|
+
|
19
|
+
test "undecorate returns a Pathname object" do
|
20
|
+
assert_kind_of(Pathname, @std.undecorate)
|
21
|
+
end
|
22
|
+
|
23
|
+
test "undecorate method returns an already undecorated path unchanged" do
|
24
|
+
assert_equal('C:\Path\File.txt', Pathname.new('C:\Path\File.txt').undecorate)
|
25
|
+
assert_equal('\\foo\bar', Pathname.new('\\foo\bar').undecorate)
|
26
|
+
end
|
27
|
+
|
28
|
+
test "undecorate returns expected result for standard path" do
|
29
|
+
assert_equal('C:\Path\File', Pathname.new('C:\Path\File[12]').undecorate)
|
30
|
+
assert_equal('C:\Path\[3].txt', Pathname.new('C:\Path\[3].txt').undecorate)
|
31
|
+
end
|
32
|
+
|
33
|
+
test "undecorate returns expected result for UNC path" do
|
34
|
+
assert_equal('\\foo\bar.txt',Pathname.new('\\foo\bar[5].txt').undecorate)
|
35
|
+
assert_equal('\\foo\bar', Pathname.new('\\foo\bar[5]').undecorate)
|
36
|
+
end
|
37
|
+
|
38
|
+
test "undecorate does not modify the original string" do
|
39
|
+
str = 'C:/Path/File.txt'
|
40
|
+
assert_nothing_raised{ Pathname.new(str).undecorate }
|
41
|
+
assert_equal('C:/Path/File.txt', str)
|
42
|
+
end
|
43
|
+
|
44
|
+
def teardown
|
45
|
+
@std = nil
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_undecorate_bang.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#undecorate! method
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_UndecorateBang < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@std = Pathname.new('C:/Path/File.txt')
|
12
|
+
end
|
13
|
+
|
14
|
+
test "undecorate! basic functionality" do
|
15
|
+
assert_respond_to(@std, :undecorate!)
|
16
|
+
assert_nothing_raised{ @std.undecorate! }
|
17
|
+
end
|
18
|
+
|
19
|
+
test "undecorate! returns a Pathname object" do
|
20
|
+
assert_kind_of(Pathname, @std.undecorate!)
|
21
|
+
end
|
22
|
+
|
23
|
+
test "undecorate! method returns an already undecorated path unchanged" do
|
24
|
+
assert_equal('C:\Path\File.txt', Pathname.new('C:\Path\File.txt').undecorate!)
|
25
|
+
assert_equal('\\foo\bar', Pathname.new('\\foo\bar').undecorate!)
|
26
|
+
end
|
27
|
+
|
28
|
+
test "undecorate! returns expected result for standard path" do
|
29
|
+
assert_equal('C:\Path\File', Pathname.new('C:\Path\File[12]').undecorate!)
|
30
|
+
assert_equal('C:\Path\[3].txt', Pathname.new('C:\Path\[3].txt').undecorate!)
|
31
|
+
end
|
32
|
+
|
33
|
+
test "undecorate! returns expected result for UNC path" do
|
34
|
+
assert_equal('\\foo\bar.txt',Pathname.new('\\foo\bar[5].txt').undecorate!)
|
35
|
+
assert_equal('\\foo\bar', Pathname.new('\\foo\bar[5]').undecorate!)
|
36
|
+
end
|
37
|
+
|
38
|
+
test "undecorate! does not modify the original string" do
|
39
|
+
str = 'C:/Path/File.txt'
|
40
|
+
assert_nothing_raised{ Pathname.new(str).undecorate }
|
41
|
+
assert_equal('C:/Path/File.txt', str)
|
42
|
+
end
|
43
|
+
|
44
|
+
test "undecorate does modify the object itself" do
|
45
|
+
path = Pathname.new('C:\Path\File[12]')
|
46
|
+
assert_nothing_raised{ path.undecorate! }
|
47
|
+
assert_equal('C:\Path\File', path)
|
48
|
+
end
|
49
|
+
|
50
|
+
def teardown
|
51
|
+
@std = nil
|
52
|
+
end
|
53
|
+
end
|
metadata
ADDED
@@ -0,0 +1,176 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pathname2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.8.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Daniel J. Berger
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MREwDwYDVQQDDAhkamJl
|
14
|
+
cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
|
15
|
+
MB4XDTE4MDMxODE1MjIwN1oXDTI4MDMxNTE1MjIwN1owPzERMA8GA1UEAwwIZGpi
|
16
|
+
ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
|
17
|
+
bTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALgfaroVM6CI06cxr0/h
|
18
|
+
A+j+pc8fgpRgBVmHFaFunq28GPC3IvW7Nvc3Y8SnAW7pP1EQIbhlwRIaQzJ93/yj
|
19
|
+
u95KpkP7tA9erypnV7dpzBkzNlX14ACaFD/6pHoXoe2ltBxk3CCyyzx70mTqJpph
|
20
|
+
75IB03ni9a8yqn8pmse+s83bFJOAqddSj009sGPcQO+QOWiNxqYv1n5EHcvj2ebO
|
21
|
+
6hN7YTmhx7aSia4qL/quc4DlIaGMWoAhvML7u1fmo53CYxkKskfN8MOecq2vfEmL
|
22
|
+
iLu+SsVVEAufMDDFMXMJlvDsviolUSGMSNRTujkyCcJoXKYYxZSNtIiyd9etI0X3
|
23
|
+
ctu0uhrFyrMZXCedutvXNjUolD5r9KGBFSWH1R9u2I3n3SAyFF2yzv/7idQHLJJq
|
24
|
+
74BMnx0FIq6fCpu5slAipvxZ3ZkZpEXZFr3cIBtO1gFvQWW7E/Y3ijliWJS1GQFq
|
25
|
+
058qERadHGu1yu1dojmFRo6W2KZvY9al2yIlbkpDrD5MYQIDAQABo3cwdTAJBgNV
|
26
|
+
HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUFZsMapgzJimzsbaBG2Tm8j5e
|
27
|
+
AzgwHQYDVR0RBBYwFIESZGpiZXJnOTZAZ21haWwuY29tMB0GA1UdEgQWMBSBEmRq
|
28
|
+
YmVyZzk2QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAW2tnYixXQtKxgGXq
|
29
|
+
/3iSWG2bLwvxS4go3srO+aRXZHrFUMlJ5W0mCxl03aazxxKTsVVpZD8QZxvK91OQ
|
30
|
+
h9zr9JBYqCLcCVbr8SkmYCi/laxIZxsNE5YI8cC8vvlLI7AMgSfPSnn/Epq1GjGY
|
31
|
+
6L1iRcEDtanGCIvjqlCXO9+BmsnCfEVehqZkQHeYczA03tpOWb6pon2wzvMKSsKH
|
32
|
+
ks0ApVdstSLz1kzzAqem/uHdG9FyXdbTAwH1G4ZPv69sQAFAOCgAqYmdnzedsQtE
|
33
|
+
1LQfaQrx0twO+CZJPcRLEESjq8ScQxWRRkfuh2VeR7cEU7L7KqT10mtUwrvw7APf
|
34
|
+
DYoeCY9KyjIBjQXfbj2ke5u1hZj94Fsq9FfbEQg8ygCgwThnmkTrrKEiMSs3alYR
|
35
|
+
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
|
+
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
|
+
-----END CERTIFICATE-----
|
38
|
+
date:
|
39
|
+
dependencies:
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: facade
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: test-unit
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rake
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
description: |2
|
83
|
+
The pathname2 library provides an implementation of the Pathname
|
84
|
+
class different from the one that ships as part of the Ruby standard
|
85
|
+
library. It is a subclass of String, though several methods have been
|
86
|
+
overridden to better fit a path context. In addition, it supports file
|
87
|
+
URL's as paths, provides additional methods for Windows paths, and
|
88
|
+
handles UNC paths on Windows properly. See the README file for more
|
89
|
+
details.
|
90
|
+
email: djberg96@gmail.com
|
91
|
+
executables: []
|
92
|
+
extensions: []
|
93
|
+
extra_rdoc_files:
|
94
|
+
- README
|
95
|
+
- CHANGES
|
96
|
+
- MANIFEST
|
97
|
+
files:
|
98
|
+
- LICENSE
|
99
|
+
- test
|
100
|
+
- test/test_pathname.rb
|
101
|
+
- test/windows
|
102
|
+
- test/windows/test_long_path.rb
|
103
|
+
- test/windows/test_short_path.rb
|
104
|
+
- test/windows/test_parent.rb
|
105
|
+
- test/windows/test_root.rb
|
106
|
+
- test/windows/test_undecorate_bang.rb
|
107
|
+
- test/windows/test_clean.rb
|
108
|
+
- test/windows/test_clean_bang.rb
|
109
|
+
- test/windows/test_pstrip_bang.rb
|
110
|
+
- test/windows/test_facade.rb
|
111
|
+
- test/windows/test_is_absolute.rb
|
112
|
+
- test/windows/test_realpath.rb
|
113
|
+
- test/windows/test_children.rb
|
114
|
+
- test/windows/test_pstrip.rb
|
115
|
+
- test/windows/test_relative_path_from.rb
|
116
|
+
- test/windows/test_constructor.rb
|
117
|
+
- test/windows/test_join.rb
|
118
|
+
- test/windows/test_is_relative.rb
|
119
|
+
- test/windows/test_is_root.rb
|
120
|
+
- test/windows/test_append.rb
|
121
|
+
- test/windows/test_is_unc.rb
|
122
|
+
- test/windows/test_aref.rb
|
123
|
+
- test/windows/test_misc.rb
|
124
|
+
- test/windows/test_ascend.rb
|
125
|
+
- test/windows/test_each.rb
|
126
|
+
- test/windows/test_descend.rb
|
127
|
+
- test/windows/test_undecorate.rb
|
128
|
+
- test/windows/test_drive_number.rb
|
129
|
+
- test/windows/test_to_a.rb
|
130
|
+
- test/test_version.rb
|
131
|
+
- pathname2.gemspec
|
132
|
+
- CHANGES
|
133
|
+
- MANIFEST
|
134
|
+
- README
|
135
|
+
- Rakefile
|
136
|
+
- certs
|
137
|
+
- certs/djberg96_pub.pem
|
138
|
+
- examples
|
139
|
+
- examples/example_pathname.rb
|
140
|
+
- benchmarks
|
141
|
+
- benchmarks/bench_pathname.rb
|
142
|
+
- benchmarks/bench_plus.rb
|
143
|
+
- lib
|
144
|
+
- lib/pathname2.rb
|
145
|
+
homepage: https://github.com/djberg96/pathname2
|
146
|
+
licenses:
|
147
|
+
- Apache-2.0
|
148
|
+
metadata:
|
149
|
+
homepage_uri: https://github.com/djberg96/pathname2
|
150
|
+
bug_tracker_uri: https://github.com/djberg96/pathname2/issues
|
151
|
+
changelog_uri: https://github.com/djberg96/pathname2/blob/ffi/CHANGES
|
152
|
+
documentation_uri: https://github.com/djberg96/pathname2/wiki
|
153
|
+
source_code_uri: https://github.com/djberg96/pathname2
|
154
|
+
wiki_uri: https://github.com/djberg96/pathname2/wiki
|
155
|
+
post_install_message:
|
156
|
+
rdoc_options: []
|
157
|
+
require_paths:
|
158
|
+
- lib
|
159
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
requirements: []
|
170
|
+
rubygems_version: 3.0.3
|
171
|
+
signing_key:
|
172
|
+
specification_version: 4
|
173
|
+
summary: An alternate implementation of the Pathname class
|
174
|
+
test_files:
|
175
|
+
- test/test_pathname.rb
|
176
|
+
- test/test_version.rb
|