require_all 1.3.2 → 1.3.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.
@@ -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