require_all 1.2.0 → 1.2.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/CHANGES +4 -0
- data/README.textile +12 -1
- data/lib/require_all.rb +1 -1
- data/require_all.gemspec +1 -1
- metadata +6 -8
data/CHANGES
CHANGED
data/README.textile
CHANGED
@@ -52,6 +52,17 @@ use require_rel to load entire directories of code too. If "foobar" is a
|
|
52
52
|
directory this will load all the .rb files found under that directory with
|
53
53
|
automagic dependency handling.
|
54
54
|
|
55
|
+
The difference between <code>require_all</code> and <code>require_rel</code> is that the former loads from the
|
56
|
+
working directory and latter from the directory relative to the <code>__FILE__</code>.
|
57
|
+
So, if your working directory is let's say /home, and there is /lib/a/b.rb and /lib/c.rb, then
|
58
|
+
|
59
|
+
<code>require_all "lib/"</code> loads every ruby file from the lib directory in the working directory (pwd)
|
60
|
+
|
61
|
+
and in /lib/c.rb <code>require_rel "a/"</code> loads every ruby file from the a/ directory not paying any attention
|
62
|
+
to the working directory itself.
|
63
|
+
|
64
|
+
It's recommended to use require_rel since it is not affected by the working directory.
|
65
|
+
|
55
66
|
Also load_all and load_rel methods exist to use Kernel#load instead of Kernel#require!
|
56
67
|
|
57
68
|
It's just that easy! Code loading shouldn't be hard.
|
@@ -98,7 +109,7 @@ Of course there's also an autoload_rel method:
|
|
98
109
|
If having some problems with autoload_all or autoload_rel then set $DEBUG to true to see how files
|
99
110
|
are mapped to their respective modules and classes.
|
100
111
|
|
101
|
-
h2. Methodology
|
112
|
+
h2. Methodology (except for autoload_{all|rel})
|
102
113
|
|
103
114
|
I didn't invent the approach this gem uses. It was shamelessly stolen from
|
104
115
|
Merb (which apparently stole it from elsewhere). Here's how it works:
|
data/lib/require_all.rb
CHANGED
@@ -71,7 +71,7 @@ module RequireAll
|
|
71
71
|
|
72
72
|
# Maybe it's an .rb file and the .rb was omitted
|
73
73
|
if File.file?(arg + '.rb')
|
74
|
-
file = arg + '.rb'
|
74
|
+
file = File.expand_path(arg + '.rb')
|
75
75
|
options[:method] != :autoload ? Kernel.send(options[:method], file) : __autoload(file, file, options)
|
76
76
|
return true
|
77
77
|
end
|
data/require_all.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: require_all
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 1.2.
|
9
|
+
- 1
|
10
|
+
version: 1.2.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jarmo Pertman
|
@@ -16,8 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-09-14 00:00:00
|
20
|
-
default_executable:
|
19
|
+
date: 2010-09-14 00:00:00 Z
|
21
20
|
dependencies: []
|
22
21
|
|
23
22
|
description:
|
@@ -62,7 +61,6 @@ files:
|
|
62
61
|
- LICENSE
|
63
62
|
- README.textile
|
64
63
|
- CHANGES
|
65
|
-
has_rdoc: true
|
66
64
|
homepage: http://github.com/jarmo/require_all
|
67
65
|
licenses: []
|
68
66
|
|
@@ -96,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
94
|
requirements: []
|
97
95
|
|
98
96
|
rubyforge_project:
|
99
|
-
rubygems_version: 1.
|
97
|
+
rubygems_version: 1.8.4
|
100
98
|
signing_key:
|
101
99
|
specification_version: 3
|
102
100
|
summary: A wonderfully simple way to load your code
|