chrislloyd-fancypath 0.1.0 → 0.2.0
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.
- data/Rakefile +1 -1
- data/lib/fancypath.rb +18 -6
- data/spec/fancypath_spec.rb +17 -2
- metadata +2 -2
data/Rakefile
CHANGED
data/lib/fancypath.rb
CHANGED
@@ -31,31 +31,43 @@ class Fancypath < Pathname
|
|
31
31
|
# make file
|
32
32
|
def touch
|
33
33
|
FileUtils.touch self.to_s
|
34
|
-
self
|
34
|
+
self.to_path
|
35
35
|
end
|
36
36
|
|
37
37
|
# make dir
|
38
38
|
def create
|
39
39
|
mkpath unless exist?
|
40
|
-
self
|
40
|
+
self.to_path
|
41
41
|
end
|
42
42
|
|
43
43
|
# file or dir
|
44
44
|
def remove
|
45
45
|
directory? ? rmtree : delete if exist?
|
46
|
-
self
|
46
|
+
self.to_path
|
47
47
|
end
|
48
48
|
|
49
|
-
def write(contents)
|
49
|
+
def write(contents, mode='wb')
|
50
50
|
dirname.create
|
51
|
-
open(
|
52
|
-
self
|
51
|
+
open(mode) { |f| f.write contents }
|
52
|
+
self.to_path
|
53
|
+
end
|
54
|
+
|
55
|
+
def append(contents)
|
56
|
+
write(contents,'a+')
|
53
57
|
end
|
54
58
|
|
55
59
|
def visible_children
|
56
60
|
children.reject { |c| c.basename.to_s =~ /^\./ }
|
57
61
|
end
|
58
62
|
|
63
|
+
def inspect
|
64
|
+
super.sub('Pathname','Fancypath')
|
65
|
+
end
|
66
|
+
|
67
|
+
def to_path
|
68
|
+
self
|
69
|
+
end
|
70
|
+
|
59
71
|
end
|
60
72
|
|
61
73
|
def Fancypath(path); Fancypath.new(path) end
|
data/spec/fancypath_spec.rb
CHANGED
@@ -20,13 +20,15 @@ end
|
|
20
20
|
describe '#touch', 'file does not exist' do
|
21
21
|
|
22
22
|
it('returns self') { @file.touch.should == @file }
|
23
|
+
it('returns a Fancypath') { @file.touch.should be_instance_of(Fancypath) }
|
23
24
|
it('creates file') { @file.touch.should be_file }
|
24
25
|
|
25
26
|
end
|
26
27
|
|
27
28
|
describe '#create', 'dir does not exist' do
|
28
29
|
|
29
|
-
it('returns self') { @dir.create.should == @dir }
|
30
|
+
it('returns self') { @dir.create.should == @dir }
|
31
|
+
it('returns a Fancypath') { @dir.create.should be_instance_of(Fancypath) }
|
30
32
|
it('creates directory') { @dir.create.should be_directory }
|
31
33
|
|
32
34
|
end
|
@@ -34,6 +36,7 @@ end
|
|
34
36
|
describe '#remove' do
|
35
37
|
|
36
38
|
it('returns self') { @file.remove.should == @file }
|
39
|
+
it('returns a Fancypath') { @file.remove.should be_instance_of(Fancypath) }
|
37
40
|
it('removes file') { @file.touch.remove.should_not exist }
|
38
41
|
it('removes directory') { @dir.create.remove.should_not exist }
|
39
42
|
|
@@ -42,9 +45,21 @@ end
|
|
42
45
|
describe '#write' do
|
43
46
|
|
44
47
|
it('returns self') { @file.write('').should == @file }
|
48
|
+
it('returns a Fancypath') { @file.write('').should be_instance_of(Fancypath) }
|
45
49
|
it('writes contents to file') { @file.write('test').read.should == 'test' }
|
46
50
|
|
47
51
|
end
|
48
52
|
|
53
|
+
end #/Fancypath
|
49
54
|
|
50
|
-
|
55
|
+
describe "String#to_path" do
|
56
|
+
|
57
|
+
it('returns a Fancypath') { 'test'.to_path.should be_instance_of(Fancypath) }
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "Pathname#to_path" do
|
62
|
+
|
63
|
+
it('returns a Fancypath') { Fancypath.new('/').to_path.should be_instance_of(Fancypath) }
|
64
|
+
|
65
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chrislloyd-fancypath
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Myles Byrne
|
@@ -10,7 +10,7 @@ autorequire: fancypath
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2008-11-
|
13
|
+
date: 2008-11-15 00:00:00 -08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|