rubyexts 0.0.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.
- data/CHANGELOG +2 -0
- data/LICENSE +20 -0
- data/README.textile +0 -0
- data/Rakefile +79 -0
- data/TODO.txt +6 -0
- data/lib/rubyexts.rb +102 -0
- data/lib/rubyexts/array.rb +20 -0
- data/lib/rubyexts/attribute.rb +151 -0
- data/lib/rubyexts/capture_io.rb +32 -0
- data/lib/rubyexts/class.rb +177 -0
- data/lib/rubyexts/colored_string.rb +103 -0
- data/lib/rubyexts/enumerable.rb +30 -0
- data/lib/rubyexts/file.rb +84 -0
- data/lib/rubyexts/hash.rb +180 -0
- data/lib/rubyexts/kernel.rb +91 -0
- data/lib/rubyexts/module.rb +53 -0
- data/lib/rubyexts/object.rb +56 -0
- data/lib/rubyexts/object_space.rb +16 -0
- data/lib/rubyexts/os.rb +89 -0
- data/lib/rubyexts/platform.rb +27 -0
- data/lib/rubyexts/random.rb +25 -0
- data/lib/rubyexts/string.rb +92 -0
- data/lib/rubyexts/time.rb +15 -0
- data/lib/rubyexts/time_dsl.rb +62 -0
- data/lib/rubyexts/try_dup.rb +43 -0
- data/lib/rubyexts/unique_array.rb +16 -0
- data/rubyexts.gemspec +36 -0
- data/script/spec +12 -0
- data/spec/rubyexts/array_spec.rb +19 -0
- data/spec/rubyexts/attribute_spec.rb +37 -0
- data/spec/rubyexts/class_spec.rb +1 -0
- data/spec/rubyexts/cli_spec.rb +0 -0
- data/spec/rubyexts/colored_string_spec.rb +9 -0
- data/spec/rubyexts/enumerable_spec.rb +52 -0
- data/spec/rubyexts/file_spec.rb +78 -0
- data/spec/rubyexts/hash_spec.rb +91 -0
- data/spec/rubyexts/kernel_spec.rb +9 -0
- data/spec/rubyexts/module_spec.rb +0 -0
- data/spec/rubyexts/object_space_spec.rb +17 -0
- data/spec/rubyexts/object_spec.rb +57 -0
- data/spec/rubyexts/os_spec.rb +121 -0
- data/spec/rubyexts/platform_spec.rb +0 -0
- data/spec/rubyexts/random_spec.rb +31 -0
- data/spec/rubyexts/string_spec.rb +23 -0
- data/spec/rubyexts/time_dsl_spec.rb +88 -0
- data/spec/rubyexts/time_spec.rb +11 -0
- data/spec/rubyexts/unique_array_spec.rb +0 -0
- data/spec/rubyexts_spec.rb +182 -0
- data/spec/spec.opts +5 -0
- data/spec/spec_helper.rb +16 -0
- metadata +104 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/object"
|
4
|
+
|
5
|
+
class ObjectStub
|
6
|
+
def generator
|
7
|
+
define_instance_method(:new_method) { "return value" }
|
8
|
+
end
|
9
|
+
|
10
|
+
def proxy(*args, &block)
|
11
|
+
return {args: args, block: block}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe Object do
|
16
|
+
before(:each) do
|
17
|
+
@stub = ObjectStub.new
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "#try" do
|
21
|
+
it "should returns nil if given method doesn't exist" do
|
22
|
+
@stub.try(:a_method).should be_nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it "can takes arguments" do
|
26
|
+
returned = @stub.try(:proxy, :one, :two, :three)
|
27
|
+
returned[:args].should eql([:one, :two, :three])
|
28
|
+
end
|
29
|
+
|
30
|
+
it "can takes block" do
|
31
|
+
returned = @stub.try(:proxy) { [:one, :two, :three] }
|
32
|
+
returned[:block].call.should eql([:one, :two, :three])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "#not_nil?" do
|
37
|
+
it "should be true if object isn't nil" do
|
38
|
+
Object.new.not_nil?.should be_true
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should be false if object is nil" do
|
42
|
+
nil.not_nil?.should be_false
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#define_instance_method" do
|
47
|
+
before(:each) do
|
48
|
+
@stub = ObjectStub.new
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should define instance method" do
|
52
|
+
@stub.generator
|
53
|
+
methods = ObjectStub.instance_methods
|
54
|
+
methods.should include(:new_method)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/os"
|
4
|
+
|
5
|
+
describe OS do
|
6
|
+
before(:each) do
|
7
|
+
@os = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
8
|
+
end
|
9
|
+
|
10
|
+
describe ".parse" do
|
11
|
+
it "should transform 'KEY' => value syntax into key: value" do
|
12
|
+
@os = OS.parse("HOME" => "/Users/botanicus", "PATH" => "/bin:/sbin")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should use ENV by default" do
|
16
|
+
ENV.should eql(OS.parse.original_env)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should save original ENV" do
|
20
|
+
OS.parse.original_env.should eql(ENV)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "basic variables" do
|
25
|
+
before(:each) do
|
26
|
+
@os = OS.new(@os.env.merge(empty: "", digit: "123"))
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should be shortcut for ENV['variable']" do
|
30
|
+
@os.home.should eql("/Users/botanicus")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should returns array of paths if key ends with PATH or LIB" do
|
34
|
+
@os.path.should eql(["/bin", "/sbin"])
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should convert empty string to nil" do
|
38
|
+
@os.empty.should be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should convert string '123' to integer 123" do
|
42
|
+
@os.digit.should eql(123)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#[]" do
|
47
|
+
it "should returns value for given key if key exist" do
|
48
|
+
@os[:home].should eql("/Users/botanicus")
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should returns nil if given key doesn't exist" do
|
52
|
+
@os[:xpath].should be_nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "#==" do
|
57
|
+
it "should be equal if keys and values are equal" do
|
58
|
+
one = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
59
|
+
two = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
60
|
+
one.should == two
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should be equal if keys and sorted values are equal" do
|
64
|
+
one = OS.new(home: "/Users/botanicus", path: "/sbin:/bin")
|
65
|
+
two = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
66
|
+
one.should == two
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should not be equal if keys are equal but values not" do
|
70
|
+
one = OS.new(home: "/Users/one", path: "/bin:/sbin")
|
71
|
+
two = OS.new(home: "/Users/two", path: "/bin:/sbin")
|
72
|
+
one.should_not == two
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should not be equal if keys are different" do
|
76
|
+
one = OS.new(home: "/Users/one")
|
77
|
+
two = OS.new(home: "/Users/two", path: "/bin:/sbin")
|
78
|
+
one.should_not == two
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "#keys" do
|
83
|
+
it "should returns array of ENV keys which are upcased strings" do
|
84
|
+
@os.keys.should be_kind_of(Array)
|
85
|
+
@os.keys.all? { |key| key.should be_kind_of(Symbol) }
|
86
|
+
@os.keys.all? { |key| key.should match(/^[a-z_]+$/) }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "#inspect" do
|
91
|
+
it "should show all the keys" do
|
92
|
+
[:home, :path].each do |key|
|
93
|
+
@os.inspect.should match(%r[#{key}])
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
describe "#root?" do
|
99
|
+
it "should returns false if user isn't root" do
|
100
|
+
@os.should_not be_root
|
101
|
+
end
|
102
|
+
|
103
|
+
it "should returns true if user is root" do
|
104
|
+
pending do
|
105
|
+
@os.should be_root
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
describe "#method_missing" do
|
111
|
+
it "should returns nil if method doesn't exist and no arguments or block given" do
|
112
|
+
@os.i_do_not_exist.should be_nil
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should raise NoMethodError nil if method doesn't exist and no arguments or block given" do
|
116
|
+
-> { @os.i_do_not_exist {} }.should raise_error(NoMethodError)
|
117
|
+
-> { @os.i_do_not_exist(1) }.should raise_error(NoMethodError)
|
118
|
+
-> { @os.i_do_not_exist(1) {} }.should raise_error(NoMethodError)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
File without changes
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/random"
|
4
|
+
|
5
|
+
describe "Array#random" do
|
6
|
+
before(:each) do
|
7
|
+
@array = (1..1000).to_a
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should returns random item *from array*" do
|
11
|
+
@array.should include(@array.random)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should returns *random* item from array" do
|
15
|
+
@array.random.should_not eql(@array.random)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "Range#random" do
|
20
|
+
before(:each) do
|
21
|
+
@range = (1..1000)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should returns random item *from range*" do
|
25
|
+
@range.should include(@range.random)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should returns *random* item from range" do
|
29
|
+
@range.random.should_not eql(@range.random)
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/string"
|
4
|
+
|
5
|
+
describe String do
|
6
|
+
describe "#titlecase" do
|
7
|
+
it "should returns titlecased string" do
|
8
|
+
"hello world!".titlecase.should eql("Hello World!")
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should play well with unicode" do
|
12
|
+
pending do
|
13
|
+
"čus borče!".titlecase.should eql("Čus Borče!")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "#colorize" do
|
19
|
+
it "should returns colorized string" do
|
20
|
+
"whatever".colorize.should be_kind_of(ColoredString)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# Author: Martin Hrdlička
|
4
|
+
|
5
|
+
require_relative "../../lib/rubyexts/time_dsl"
|
6
|
+
|
7
|
+
SECOND = 1
|
8
|
+
MINUTE = 60 * SECOND
|
9
|
+
HOUR = 60 * MINUTE
|
10
|
+
DAY = 24 * HOUR
|
11
|
+
WEEK = 7 * DAY
|
12
|
+
MONTH = 30 * DAY
|
13
|
+
YEAR = 365 * DAY + 6 * HOUR
|
14
|
+
|
15
|
+
describe TimeDSL do
|
16
|
+
it "should return correct count of seconds for 1.second" do
|
17
|
+
1.second.should eql SECOND
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should return correct count of seconds for 2.seconds" do
|
21
|
+
2.seconds.should eql 2 * SECOND
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return correct count of seconds for 1.minute" do
|
25
|
+
1.minute.should eql MINUTE
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should return correct count of seconds for 2.minutes" do
|
29
|
+
2.minutes.should eql 2 * MINUTE
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should return correct count of seconds for 1.hour" do
|
33
|
+
1.hour.should eql HOUR
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should return correct count of seconds for 2.hours" do
|
37
|
+
2.hours.should eql 2 * HOUR
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should return correct count of seconds for 1.day" do
|
41
|
+
1.day.should eql DAY
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should return correct count of seconds for 2.day" do
|
45
|
+
2.day.should eql 2 * DAY
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should return correct count of seconds for 1.week" do
|
49
|
+
1.week.should eql WEEK
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should return correct count of seconds for 2.weeks" do
|
53
|
+
2.weeks.should eql 2 * WEEK
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should return correct count of seconds for 1.month" do
|
57
|
+
1.month.should eql MONTH
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return correct count of seconds for 2.months" do
|
61
|
+
2.months.should eql 2 * MONTH
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should return correct count of seconds for 1.year" do
|
65
|
+
pending "year can have 365 or 366 days"
|
66
|
+
1.year.should eql YEAR
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should return correct count of seconds for 2.years" do
|
70
|
+
pending "year can have 365 or 366 days"
|
71
|
+
2.years.should eql 2 * YEAR
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should return correct since time for any time" do
|
75
|
+
actual_time = ::Time.now
|
76
|
+
1.day.since(actual_time).should eql actual_time + DAY
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should return correct time from now for any time" do
|
80
|
+
actual_time = ::Time.now
|
81
|
+
1.day.from_now(actual_time).should eql actual_time + DAY
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should return correct time ago time for any time" do
|
85
|
+
actual_time = ::Time.now
|
86
|
+
1.day.ago(actual_time).should eql actual_time - DAY
|
87
|
+
end
|
88
|
+
end
|
File without changes
|
@@ -0,0 +1,182 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../lib/rubyexts"
|
4
|
+
|
5
|
+
describe Kernel do
|
6
|
+
before(:each) do
|
7
|
+
dirname = File.dirname(__FILE__)
|
8
|
+
@path = File.join(dirname, "..", "stubs")
|
9
|
+
@path = File.expand_path(@path)
|
10
|
+
$LOADED_FEATURES.clear
|
11
|
+
end
|
12
|
+
|
13
|
+
def loaded
|
14
|
+
$LOADED_FEATURES.map do |loaded|
|
15
|
+
loaded.sub("#{@path}/acqs/", "")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "#acquire" do
|
20
|
+
before(:each) do
|
21
|
+
$:.push(@path) unless $:.include?(@path)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should raise LoadError if given directory doesn't exist at all" do
|
25
|
+
-> { acquire "a/b/c/d/*" }.should raise_error(LoadError)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should raise ArgumentError if given argument isn't a glob" do
|
29
|
+
-> { acquire "a/b/c/d" }.should raise_error(ArgumentError)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should returns empty array if no file match the glob, but the base directory exist" do
|
33
|
+
acquire "acqs/*.i"
|
34
|
+
loaded.should be_kind_of(Array)
|
35
|
+
loaded.should be_empty
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should returns nonempty array if some files matched the glob" do
|
39
|
+
acquire "acqs/**/*"
|
40
|
+
loaded.should be_kind_of(Array)
|
41
|
+
loaded.should_not be_empty
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should returns array with full paths" do
|
45
|
+
acquire "acqs/**/*"
|
46
|
+
$LOADED_FEATURES.each do |file|
|
47
|
+
File.file?(file).should be_true
|
48
|
+
File.expand_path(file).should eql(file)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should use .rb as default extension if any extension specified" do
|
53
|
+
acquire "acqs/**/*"
|
54
|
+
loaded.should include("lib.rb")
|
55
|
+
loaded.should include("dir/lib.rb")
|
56
|
+
loaded.should_not include("tasks.thor")
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should load even files with another extension than just .rb" do
|
60
|
+
acquire "acqs/**/*.thor"
|
61
|
+
loaded.should include("tasks.thor")
|
62
|
+
loaded.should_not include("lib.rb")
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should ignore dotfiles" do
|
66
|
+
acquire "acqs/**/*"
|
67
|
+
loaded.should_not include(".hidden.rb")
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should ignore nonruby files" do
|
71
|
+
acquire "acqs/**/*"
|
72
|
+
loaded.should_not include("tasks.thor")
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should permit to exclude a file" do
|
76
|
+
acquire "acqs/**/*", exclude: "dir/lib.rb"
|
77
|
+
loaded.should include("lib.rb")
|
78
|
+
loaded.should_not include("dir/lib.rb")
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should permit to exclude array of files" do
|
82
|
+
acquire "acqs/**/*", exclude: ["lib.rb", "dir/lib.rb"]
|
83
|
+
loaded.should_not include("lib.rb")
|
84
|
+
loaded.should_not include("dir/lib.rb")
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should permit to exclude a glob" do
|
88
|
+
acquire "acqs/**/*", exclude: "**/*_spec.rb"
|
89
|
+
loaded.should include("dir/lib.rb")
|
90
|
+
loaded.should_not include("dir/lib_spec.rb")
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should permit to exclude list of globs" do
|
94
|
+
acquire "acqs/**/*", exclude: ["**/*_spec.rb", "**/lib.rb"]
|
95
|
+
loaded.should_not include("lib.rb")
|
96
|
+
loaded.should_not include("dir/lib.rb")
|
97
|
+
loaded.should_not include("dir/lib_spec.rb")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
describe "#acquire_relative" do
|
102
|
+
before(:each) do
|
103
|
+
$:.delete(@path)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should raise LoadError if given directory doesn't exist at all" do
|
107
|
+
-> { acquire_relative "a/b/c/d/*" }.should raise_error(LoadError)
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should raise ArgumentError if given argument isn't a glob" do
|
111
|
+
-> { acquire_relative "a/b/c/d" }.should raise_error(ArgumentError)
|
112
|
+
end
|
113
|
+
|
114
|
+
it "should returns empty array if no file match the glob, but the base directory exist" do
|
115
|
+
acquire_relative "../stubs/acqs/*.i"
|
116
|
+
loaded.should be_kind_of(Array)
|
117
|
+
loaded.should be_empty
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should returns nonempty array if some files matched the glob" do
|
121
|
+
acquire_relative "../stubs/acqs/**/*"
|
122
|
+
loaded.should be_kind_of(Array)
|
123
|
+
loaded.should_not be_empty
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should returns array with full paths" do
|
127
|
+
acquire_relative "../stubs/acqs/**/*"
|
128
|
+
$LOADED_FEATURES.each do |file|
|
129
|
+
File.file?(file).should be_true
|
130
|
+
File.expand_path(file).should eql(file)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should use .rb as default extension if any extension specified" do
|
135
|
+
acquire_relative "../stubs/acqs/**/*"
|
136
|
+
loaded.should include("lib.rb")
|
137
|
+
loaded.should include("dir/lib.rb")
|
138
|
+
loaded.should_not include("tasks.thor")
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should load even files with another extension than just .rb" do
|
142
|
+
acquire_relative "../stubs/acqs/**/*.thor"
|
143
|
+
loaded.should include("tasks.thor")
|
144
|
+
loaded.should_not include("lib.rb")
|
145
|
+
end
|
146
|
+
|
147
|
+
it "should ignore dotfiles" do
|
148
|
+
acquire_relative "../stubs/acqs/**/*"
|
149
|
+
loaded.should_not include(".hidden.rb")
|
150
|
+
end
|
151
|
+
|
152
|
+
it "should ignore nonruby files" do
|
153
|
+
acquire_relative "../stubs/acqs/**/*"
|
154
|
+
loaded.should_not include("tasks.thor")
|
155
|
+
end
|
156
|
+
|
157
|
+
it "should permit to exclude a file" do
|
158
|
+
acquire_relative "../stubs/acqs/**/*", exclude: "dir/lib.rb"
|
159
|
+
loaded.should include("lib.rb")
|
160
|
+
loaded.should_not include("dir/lib.rb")
|
161
|
+
end
|
162
|
+
|
163
|
+
it "should permit to exclude array of files" do
|
164
|
+
acquire_relative "../stubs/acqs/**/*", exclude: ["lib.rb", "dir/lib.rb"]
|
165
|
+
loaded.should_not include("lib.rb")
|
166
|
+
loaded.should_not include("dir/lib.rb")
|
167
|
+
end
|
168
|
+
|
169
|
+
it "should permit to exclude a glob" do
|
170
|
+
acquire_relative "../stubs/acqs/**/*", exclude: "**/*_spec.rb"
|
171
|
+
loaded.should include("dir/lib.rb")
|
172
|
+
loaded.should_not include("dir/lib_spec.rb")
|
173
|
+
end
|
174
|
+
|
175
|
+
it "should permit to exclude list of globs" do
|
176
|
+
acquire_relative "../stubs/acqs/**/*", exclude: ["**/*_spec.rb", "**/lib.rb"]
|
177
|
+
loaded.should_not include("lib.rb")
|
178
|
+
loaded.should_not include("dir/lib.rb")
|
179
|
+
loaded.should_not include("dir/lib_spec.rb")
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|