fast 0.1.2 → 0.1.3
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/lib/fast/dir.rb +3 -0
- data/lib/fast/version.rb +1 -1
- data/spec/fast/dir_spec.rb +82 -0
- metadata +8 -8
data/lib/fast/dir.rb
CHANGED
@@ -11,6 +11,7 @@ module Fast
|
|
11
11
|
# Returns a Fast::Dir list with all items in the directory, except ".." and "."
|
12
12
|
def list path = nil, &block
|
13
13
|
@path = normalize path unless path.nil?
|
14
|
+
self.clear unless self.empty?
|
14
15
|
::Dir.foreach @path do |entry|
|
15
16
|
unless entry == "." or entry == ".."
|
16
17
|
self << entry
|
@@ -24,6 +25,7 @@ module Fast
|
|
24
25
|
# (at least yet)
|
25
26
|
def files path = nil, &block
|
26
27
|
@path = normalize path if path
|
28
|
+
self.clear unless self.empty?
|
27
29
|
::Dir.foreach @path do |entry|
|
28
30
|
unless ::File.directory? "#{@path}/#{entry}"
|
29
31
|
self << entry
|
@@ -37,6 +39,7 @@ module Fast
|
|
37
39
|
# and excluding points
|
38
40
|
def dirs path = nil, &block
|
39
41
|
@path = normalize path if path
|
42
|
+
self.clear unless self.empty?
|
40
43
|
::Dir.foreach @path do |entry|
|
41
44
|
if ::File.directory? "#{@path}/#{entry}" and entry != "." and entry != ".."
|
42
45
|
self << entry
|
data/lib/fast/version.rb
CHANGED
data/spec/fast/dir_spec.rb
CHANGED
@@ -81,6 +81,47 @@ describe Fast::Dir do
|
|
81
81
|
::File.unlink "demo/alice.txt"
|
82
82
|
::Dir.unlink "demo"
|
83
83
|
end
|
84
|
+
|
85
|
+
context "the method is called in an instance of Fast::Dir" do
|
86
|
+
it "should return the files only" do
|
87
|
+
::File.should_not be_directory "demo"
|
88
|
+
Fast::File.new.touch "demo/alice.txt"
|
89
|
+
Fast::File.new.touch "demo/betty.txt"
|
90
|
+
Fast::File.new.touch "demo/chris.txt"
|
91
|
+
Fast::Dir.new.create! "demo/subdir"
|
92
|
+
|
93
|
+
the_dir = Fast::Dir.new :demo
|
94
|
+
the_dir.files.should include "alice.txt"
|
95
|
+
the_dir.files.should include "betty.txt"
|
96
|
+
the_dir.files.should include "chris.txt"
|
97
|
+
the_dir.files.should_not include "subdir"
|
98
|
+
the_dir.files.should_not include ".."
|
99
|
+
the_dir.files.should_not include "."
|
100
|
+
|
101
|
+
Fast::Dir.new.delete! :demo
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
context "the method is called after #list has been called on this instance" do
|
106
|
+
it "should return the files only" do
|
107
|
+
::File.should_not be_directory "demo"
|
108
|
+
Fast::File.new.touch "demo/alice.txt"
|
109
|
+
Fast::File.new.touch "demo/betty.txt"
|
110
|
+
Fast::File.new.touch "demo/chris.txt"
|
111
|
+
Fast::Dir.new.create! "demo/subdir"
|
112
|
+
|
113
|
+
the_dir = Fast::Dir.new :demo
|
114
|
+
the_dir.list
|
115
|
+
the_dir.files.should include "alice.txt"
|
116
|
+
the_dir.files.should include "betty.txt"
|
117
|
+
the_dir.files.should include "chris.txt"
|
118
|
+
the_dir.files.should_not include "subdir"
|
119
|
+
the_dir.files.should_not include ".."
|
120
|
+
the_dir.files.should_not include "."
|
121
|
+
|
122
|
+
Fast::Dir.new.delete! :demo
|
123
|
+
end
|
124
|
+
end
|
84
125
|
end
|
85
126
|
|
86
127
|
describe "#dirs" do
|
@@ -111,6 +152,47 @@ describe Fast::Dir do
|
|
111
152
|
::File.unlink "demo/alice.txt"
|
112
153
|
::Dir.unlink "demo"
|
113
154
|
end
|
155
|
+
|
156
|
+
context "the method is called in an instance of Fast::Dir" do
|
157
|
+
it "should return the dirs only" do
|
158
|
+
::File.should_not be_directory "demo"
|
159
|
+
Fast::File.new.touch "demo/alice.txt"
|
160
|
+
Fast::File.new.touch "demo/betty.txt"
|
161
|
+
Fast::File.new.touch "demo/chris.txt"
|
162
|
+
Fast::Dir.new.create! "demo/subdir"
|
163
|
+
|
164
|
+
the_dir = Fast::Dir.new :demo
|
165
|
+
the_dir.dirs.should_not include "alice.txt"
|
166
|
+
the_dir.dirs.should_not include "betty.txt"
|
167
|
+
the_dir.dirs.should_not include "chris.txt"
|
168
|
+
the_dir.dirs.should include "subdir"
|
169
|
+
the_dir.dirs.should_not include ".."
|
170
|
+
the_dir.dirs.should_not include "."
|
171
|
+
|
172
|
+
Fast::Dir.new.delete! :demo
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
context "the method is called after #list has been called on this instance" do
|
177
|
+
it "should return the dirs only" do
|
178
|
+
::File.should_not be_directory "demo"
|
179
|
+
Fast::File.new.touch "demo/alice.txt"
|
180
|
+
Fast::File.new.touch "demo/betty.txt"
|
181
|
+
Fast::File.new.touch "demo/chris.txt"
|
182
|
+
Fast::Dir.new.create! "demo/subdir"
|
183
|
+
|
184
|
+
the_dir = Fast::Dir.new :demo
|
185
|
+
the_dir.list
|
186
|
+
the_dir.dirs.should_not include "alice.txt"
|
187
|
+
the_dir.dirs.should_not include "betty.txt"
|
188
|
+
the_dir.dirs.should_not include "chris.txt"
|
189
|
+
the_dir.dirs.should include "subdir"
|
190
|
+
the_dir.dirs.should_not include ".."
|
191
|
+
the_dir.dirs.should_not include "."
|
192
|
+
|
193
|
+
Fast::Dir.new.delete! :demo
|
194
|
+
end
|
195
|
+
end
|
114
196
|
end
|
115
197
|
|
116
198
|
shared_examples_for "any dir creation" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: metafun
|
16
|
-
requirement: &
|
16
|
+
requirement: &83229840 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *83229840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &83229540 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *83229540
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: zucker
|
38
|
-
requirement: &
|
38
|
+
requirement: &83229210 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *83229210
|
47
47
|
description: DSL for file system interaction
|
48
48
|
email:
|
49
49
|
- xavierviacanel@gmail.com
|