require_all 1.3.2 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,68 +1,78 @@
1
- shared_examples_for "#require_all syntactic sugar" do
2
- before :each do
3
- @file_list = [
4
- "#{@base_dir}/module1/a.rb",
5
- "#{@base_dir}/module2/longer_name.rb",
6
- "#{@base_dir}/module2/module3/b.rb"
7
- ]
8
- end
9
-
10
- it "accepts files with and without extensions" do
11
- should_not be_loaded("Autoloaded::Module2::LongerName")
12
- send(@method, @base_dir + '/module2/longer_name').should be_true
13
- should be_loaded("Autoloaded::Module2::LongerName")
14
-
15
- should_not be_loaded("Autoloaded::Module1::A")
16
- send(@method, @base_dir + '/module1/a.rb').should be_true
17
- should be_loaded("Autoloaded::Module1::A")
18
- end
19
-
20
- it "accepts lists of files" do
21
- should_not be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
22
- "Autoloaded::Module2::Module3::B")
23
- send(@method, @file_list).should be_true
24
- should be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
25
- "Autoloaded::Module2::Module3::B")
26
- end
27
-
28
- it "is totally cool with a splatted list of arguments" do
29
- should_not be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
30
- "Autoloaded::Module2::Module3::B")
31
- send(@method, *@file_list).should be_true
32
- should be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
33
- "Autoloaded::Module2::Module3::B")
34
- end
35
-
36
- it "will load all .rb files under a directory without a trailing slash" do
37
- should_not be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
38
- "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
39
- send(@method, @base_dir).should be_true
40
- should be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
41
- "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
42
- end
43
-
44
- it "will load all .rb files under a directory with a trailing slash" do
45
- should_not be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
46
- "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
47
- send(@method, "#{@base_dir}/").should be_true
48
- should be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
49
- "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
50
- end
51
-
52
- it "will load all files specified by a glob" do
53
- should_not be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
54
- "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
55
- send(@method, "#{@base_dir}/**/*.rb").should be_true
56
- should be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
57
- "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
58
- end
59
-
60
- it "returns false if an empty input was given" do
61
- send(@method, []).should be_false
62
- send(@method).should be_false
63
- end
64
-
65
- it "throws LoadError if no file or directory found" do
66
- lambda {send(@method, "not_found")}.should raise_error(LoadError)
67
- end
68
- end
1
+ shared_examples_for "#require_all syntactic sugar" do
2
+ before :each do
3
+ @file_list = [
4
+ "#{@base_dir}/module1/a.rb",
5
+ "#{@base_dir}/module2/longer_name.rb",
6
+ "#{@base_dir}/module2/module3/b.rb"
7
+ ]
8
+ end
9
+
10
+ it "accepts files with and without extensions" do
11
+ is_expected.not_to be_loaded("Autoloaded::Module2::LongerName")
12
+ expect(send(@method, @base_dir + '/module2/longer_name')).to be_truthy
13
+ is_expected.to be_loaded("Autoloaded::Module2::LongerName")
14
+
15
+ is_expected.not_to be_loaded("Autoloaded::Module1::A")
16
+ expect(send(@method, @base_dir + '/module1/a.rb')).to be_truthy
17
+ is_expected.to be_loaded("Autoloaded::Module1::A")
18
+ end
19
+
20
+ it "accepts lists of files" do
21
+ is_expected.not_to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
22
+ "Autoloaded::Module2::Module3::B")
23
+ expect(send(@method, @file_list)).to be_truthy
24
+ is_expected.to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
25
+ "Autoloaded::Module2::Module3::B")
26
+ end
27
+
28
+ it "is totally cool with a splatted list of arguments" do
29
+ is_expected.not_to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
30
+ "Autoloaded::Module2::Module3::B")
31
+ expect(send(@method, *@file_list)).to be_truthy
32
+ is_expected.to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
33
+ "Autoloaded::Module2::Module3::B")
34
+ end
35
+
36
+ it "will load all .rb files under a directory without a trailing slash" do
37
+ is_expected.not_to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
38
+ "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
39
+ expect(send(@method, @base_dir)).to be_truthy
40
+ is_expected.to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
41
+ "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
42
+ end
43
+
44
+ it "will load all .rb files under a directory with a trailing slash" do
45
+ is_expected.not_to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
46
+ "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
47
+ expect(send(@method, "#{@base_dir}/")).to be_truthy
48
+ is_expected.to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
49
+ "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
50
+ end
51
+
52
+ it "will load all files specified by a glob" do
53
+ is_expected.not_to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
54
+ "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
55
+ expect(send(@method, "#{@base_dir}/**/*.rb")).to be_truthy
56
+ is_expected.to be_loaded("Autoloaded::Module1::A", "Autoloaded::Module2::LongerName",
57
+ "Autoloaded::Module2::Module3::B", "WrongModule::WithWrongModule")
58
+ end
59
+
60
+ it "returns false if an empty input was given" do
61
+ expect(send(@method, [])).to be_falsey
62
+ expect(send(@method)).to be_falsey
63
+ end
64
+
65
+ it "throws LoadError if no file or directory found" do
66
+ expect {send(@method, "not_found")}.to raise_error(LoadError)
67
+ end
68
+
69
+ it "can handle empty directories" do
70
+ # Have to make these on the fly because they can't be saved as a test fixture because Git won't track directories with nothing in them.
71
+ FileUtils.mkpath("#{@base_dir}/empty_dir")
72
+ FileUtils.mkpath("#{@base_dir}/nested/empty_dir")
73
+ FileUtils.mkpath("#{@base_dir}/nested/more_nested/empty_dir")
74
+
75
+ expect {send(@method, "#{@base_dir}/empty_dir")}.to_not raise_error
76
+ expect {send(@method, "#{@base_dir}/nested")}.to_not raise_error
77
+ end
78
+ end
@@ -1,45 +1,45 @@
1
- require File.dirname(__FILE__) + '/spec_helper.rb'
2
- require File.dirname(__FILE__) + '/require_shared.rb'
3
-
4
- describe "require_all" do
5
-
6
- subject { self }
7
-
8
- describe "dependency resolution" do
9
- it "handles load ordering when dependencies are resolvable" do
10
- require_all File.dirname(__FILE__) + '/fixtures/resolvable/*.rb'
11
-
12
- should be_loaded("A", "B", "C", "D")
13
- end
14
-
15
- it "raises NameError if dependencies can't be resolved" do
16
- proc do
17
- require_all File.dirname(__FILE__) + '/fixtures/unresolvable/*.rb'
18
- end.should raise_error(NameError)
19
- end
20
- end
21
-
22
- before(:all) do
23
- @base_dir = File.dirname(__FILE__) + '/fixtures/autoloaded'
24
- @method = :require_all
25
- end
26
- it_should_behave_like "#require_all syntactic sugar"
27
- end
28
-
29
- describe "require_rel" do
30
-
31
- subject { self }
32
-
33
- it "provides require_all functionality relative to the current file" do
34
- require File.dirname(__FILE__) + '/fixtures/relative/b/b'
35
-
36
- should be_loaded("RelativeA", "RelativeB", "RelativeC")
37
- should_not be_loaded("RelativeD")
38
- end
39
-
40
- before(:all) do
41
- @base_dir = './fixtures/autoloaded'
42
- @method = :require_rel
43
- end
44
- it_should_behave_like "#require_all syntactic sugar"
45
- end
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+ require File.dirname(__FILE__) + '/require_shared.rb'
3
+
4
+ describe "require_all" do
5
+
6
+ subject { self }
7
+
8
+ describe "dependency resolution" do
9
+ it "handles load ordering when dependencies are resolvable" do
10
+ require_all File.dirname(__FILE__) + '/fixtures/resolvable/*.rb'
11
+
12
+ is_expected.to be_loaded("A", "B", "C", "D")
13
+ end
14
+
15
+ it "raises NameError if dependencies can't be resolved" do
16
+ expect do
17
+ require_all File.dirname(__FILE__) + '/fixtures/unresolvable/*.rb'
18
+ end.to raise_error(NameError)
19
+ end
20
+ end
21
+
22
+ before(:all) do
23
+ @base_dir = File.dirname(__FILE__) + '/fixtures/autoloaded'
24
+ @method = :require_all
25
+ end
26
+ it_should_behave_like "#require_all syntactic sugar"
27
+ end
28
+
29
+ describe "require_rel" do
30
+
31
+ subject { self }
32
+
33
+ it "provides require_all functionality relative to the current file" do
34
+ require File.dirname(__FILE__) + '/fixtures/relative/b/b'
35
+
36
+ is_expected.to be_loaded("RelativeA", "RelativeB", "RelativeC")
37
+ is_expected.not_to be_loaded("RelativeD")
38
+ end
39
+
40
+ before(:all) do
41
+ @base_dir = './fixtures/autoloaded'
42
+ @method = :require_rel
43
+ end
44
+ it_should_behave_like "#require_all syntactic sugar"
45
+ end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: require_all
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Jarmo Pertman
@@ -9,39 +10,44 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2013-10-30 00:00:00.000000000 Z
13
+ date: 2015-10-26 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rake
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - ~>
19
21
  - !ruby/object:Gem::Version
20
- version: '0.9'
22
+ version: '10.4'
21
23
  type: :development
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ~>
26
29
  - !ruby/object:Gem::Version
27
- version: '0.9'
30
+ version: '10.4'
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: rspec
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
36
  - - ~>
33
37
  - !ruby/object:Gem::Version
34
- version: '2.14'
38
+ version: '3.2'
35
39
  type: :development
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
44
  - - ~>
40
45
  - !ruby/object:Gem::Version
41
- version: '2.14'
46
+ version: '3.2'
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: simplecov
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
52
  - - ~>
47
53
  - !ruby/object:Gem::Version
@@ -49,6 +55,7 @@ dependencies:
49
55
  type: :development
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
60
  - - ~>
54
61
  - !ruby/object:Gem::Version
@@ -99,7 +106,6 @@ files:
99
106
  homepage: http://github.com/jarmo/require_all
100
107
  licenses:
101
108
  - MIT
102
- metadata: {}
103
109
  post_install_message:
104
110
  rdoc_options:
105
111
  - --title
@@ -110,20 +116,28 @@ rdoc_options:
110
116
  require_paths:
111
117
  - lib
112
118
  required_ruby_version: !ruby/object:Gem::Requirement
119
+ none: false
113
120
  requirements:
114
- - - '>='
121
+ - - ! '>='
115
122
  - !ruby/object:Gem::Version
116
123
  version: '0'
124
+ segments:
125
+ - 0
126
+ hash: -3238378382384055295
117
127
  required_rubygems_version: !ruby/object:Gem::Requirement
128
+ none: false
118
129
  requirements:
119
- - - '>='
130
+ - - ! '>='
120
131
  - !ruby/object:Gem::Version
121
132
  version: '0'
133
+ segments:
134
+ - 0
135
+ hash: -3238378382384055295
122
136
  requirements: []
123
137
  rubyforge_project:
124
- rubygems_version: 2.0.7
138
+ rubygems_version: 1.8.23.2
125
139
  signing_key:
126
- specification_version: 4
140
+ specification_version: 3
127
141
  summary: A wonderfully simple way to load your code
128
142
  test_files:
129
143
  - spec/autoload_shared.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 9aca067db87a47171b1e72cddd845d4593db3fdd
4
- data.tar.gz: 3797f5b2dc922917f5542412b4b6d752cb679e6d
5
- SHA512:
6
- metadata.gz: 2a16e96d69e19068ae2220a1f1ca9a3bdfc930b256cce2f4e6b2758a11ff12e67570c1657029ffc309b8235dbb8b2496c72da84fe79297f143a5c8bc57bb4736
7
- data.tar.gz: 8b2eb02d88180f86b0e01c04592ba287d0c3ea89f0c810da0e53fd9a39462f417bfed6d8797e3e3d78efffefde4e14e797ebdae0171418893b4adf2bde312a2b