require_all 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../lib/require_all.rb'
2
+
3
+ module SpecHelper
4
+ def unload_all
5
+ %w{A B C D WrongModule Autoloaded Modules
6
+ RelativeA RelativeB RelativeC RelativeD}.each do |const|
7
+ Object.send(:remove_const, const) rescue nil
8
+ end
9
+ $LOADED_FEATURES.delete_if {|f| f =~ /autoloaded|relative|resolvable/}
10
+ end
11
+
12
+ def loaded?(*klazzes)
13
+ klazzes.all? {|klazz| Object.class_eval(klazz) rescue nil}
14
+ end
15
+ end
16
+
17
+ Spec::Runner.configure do |config|
18
+ config.include(SpecHelper)
19
+
20
+ config.before(:each) do
21
+ unload_all
22
+ end
23
+ end
24
+
25
+ module Spec
26
+ class ExampleGroup
27
+ subject {self}
28
+ end
29
+ end
metadata CHANGED
@@ -1,20 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: require_all
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ hash: 31
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 0
10
+ version: 1.2.0
5
11
  platform: ruby
6
12
  authors:
13
+ - Jarmo Pertman
7
14
  - Tony Arcieri
8
15
  autorequire:
9
16
  bindir: bin
10
17
  cert_chain: []
11
18
 
12
- date: 2009-07-18 00:00:00 -06:00
19
+ date: 2010-09-14 00:00:00 +03:00
13
20
  default_executable:
14
21
  dependencies: []
15
22
 
16
23
  description:
17
- email: tony@medioh.com
24
+ email: jarmo.p@gmail.com
18
25
  executables: []
19
26
 
20
27
  extensions: []
@@ -25,9 +32,19 @@ extra_rdoc_files:
25
32
  - CHANGES
26
33
  files:
27
34
  - lib/require_all.rb
35
+ - spec/autoload_shared.rb
36
+ - spec/autoload_spec.rb
37
+ - spec/fixtures/autoloaded/module1/a.rb
38
+ - spec/fixtures/autoloaded/module2/longer_name.rb
39
+ - spec/fixtures/autoloaded/module2/module3/b.rb
40
+ - spec/fixtures/autoloaded/with_wrong_module.rb
41
+ - spec/fixtures/autoloaded_rel/modules/module1/first.rb
42
+ - spec/fixtures/autoloaded_rel/modules/module2/second.rb
43
+ - spec/fixtures/autoloaded_rel/modules/zero.rb
28
44
  - spec/fixtures/relative/a.rb
29
45
  - spec/fixtures/relative/b/b.rb
30
46
  - spec/fixtures/relative/c/c.rb
47
+ - spec/fixtures/relative/d/d.rb
31
48
  - spec/fixtures/resolvable/a.rb
32
49
  - spec/fixtures/resolvable/b.rb
33
50
  - spec/fixtures/resolvable/c.rb
@@ -36,14 +53,17 @@ files:
36
53
  - spec/fixtures/unresolvable/b.rb
37
54
  - spec/fixtures/unresolvable/c.rb
38
55
  - spec/fixtures/unresolvable/d.rb
39
- - spec/require_all_spec.rb
56
+ - spec/load_spec.rb
57
+ - spec/require_shared.rb
58
+ - spec/require_spec.rb
59
+ - spec/spec_helper.rb
40
60
  - Rakefile
41
61
  - require_all.gemspec
42
62
  - LICENSE
43
63
  - README.textile
44
64
  - CHANGES
45
65
  has_rdoc: true
46
- homepage: http://github.com/tarcieri/require_all
66
+ homepage: http://github.com/jarmo/require_all
47
67
  licenses: []
48
68
 
49
69
  post_install_message:
@@ -56,21 +76,27 @@ rdoc_options:
56
76
  require_paths:
57
77
  - lib
58
78
  required_ruby_version: !ruby/object:Gem::Requirement
79
+ none: false
59
80
  requirements:
60
81
  - - ">="
61
82
  - !ruby/object:Gem::Version
83
+ hash: 3
84
+ segments:
85
+ - 0
62
86
  version: "0"
63
- version:
64
87
  required_rubygems_version: !ruby/object:Gem::Requirement
88
+ none: false
65
89
  requirements:
66
90
  - - ">="
67
91
  - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
68
95
  version: "0"
69
- version:
70
96
  requirements: []
71
97
 
72
- rubyforge_project: codeforpeople
73
- rubygems_version: 1.3.4
98
+ rubyforge_project:
99
+ rubygems_version: 1.3.7
74
100
  signing_key:
75
101
  specification_version: 3
76
102
  summary: A wonderfully simple way to load your code
@@ -1,57 +0,0 @@
1
- require File.dirname(__FILE__) + '/../lib/require_all.rb'
2
-
3
- describe "require_all" do
4
- describe "dependency resolution" do
5
- it "handles load ordering when dependencies are resolvable" do
6
- require_all File.dirname(__FILE__) + '/fixtures/resolvable/*.rb'
7
-
8
- defined?(A).should == "constant"
9
- defined?(B).should == "constant"
10
- defined?(C).should == "constant"
11
- defined?(D).should == "constant"
12
- end
13
-
14
- it "raises NameError if dependencies can't be resolved" do
15
- proc do
16
- require_all File.dirname(__FILE__) + '/fixtures/unresolvable/*.rb'
17
- end.should raise_error(NameError)
18
- end
19
- end
20
-
21
- describe "syntactic sugar" do
22
- before :each do
23
- @base_dir = File.dirname(__FILE__) + '/fixtures/resolvable'
24
- @file_list = ['b.rb', 'c.rb', 'a.rb', 'd.rb'].map { |f| "#{@base_dir}/#{f}" }
25
- end
26
-
27
- it "works like a drop-in require replacement" do
28
- require_all(@base_dir + '/c').should be_true
29
- end
30
-
31
- it "accepts lists of files" do
32
- require_all(@file_list).should be_true
33
- end
34
-
35
- it "is totally cool with a splatted list of arguments" do
36
- require_all(*@file_list).should be_true
37
- end
38
-
39
- it "will load all .rb files under a directory without a trailing slash" do
40
- require_all(@base_dir).should be_true
41
- end
42
-
43
- it "will load all .rb files under a directory with a trailing slash" do
44
- require_all("#{@base_dir}/").should be_true
45
- end
46
- end
47
- end
48
-
49
- describe "require_rel" do
50
- it "provides require_all functionality relative to the current file" do
51
- require File.dirname(__FILE__) + '/fixtures/relative/b/b'
52
-
53
- defined?(RelativeA).should == "constant"
54
- defined?(RelativeB).should == "constant"
55
- defined?(RelativeC).should == "constant"
56
- end
57
- end