Module: Folder
- Defined in:
- lib/folder/magic.rb,
lib/folder/folder.rb,
lib/folder/magic_list.rb
Defined Under Namespace
Modules: MagicList
Classes: Magic
Class Method Summary
collapse
-
.enter(path = '.', &block) ⇒ Object
-
.enter_here(file, &block) ⇒ Object
-
.here(file) ⇒ Object
-
.rel_base(dir, source, &block) ⇒ Object
-
.relative_path(req_file, source, base_dir = nil) ⇒ Object
Folder.require_rel ‘spec/spec_helper’, __FILE__ require /spec/spec_helper.rb relative to current file location.
-
.require_all(*folders) ⇒ Object
-
.require_all_here(file_name) ⇒ Object
-
.require_all_recursive(*folders) ⇒ Object
-
.require_all_recursive_here(file_name) ⇒ Object
-
.require_me(*files) ⇒ Object
-
.require_me_recursive(*files) ⇒ Object
-
.require_rel(req_file, source, base_dir = nil) ⇒ Object
Folder.require_rel ‘spec/spec_helper’, __FILE__ require /spec/spec_helper.rb relative to current file location.
-
.require_spec(req_file, source) ⇒ Object
-
.require_test(req_file, source) ⇒ Object
-
.show_require_all(*folders) ⇒ Object
-
.show_require_all_recursive(*folders) ⇒ Object
Class Method Details
.enter(path = '.', &block) ⇒ Object
5
6
7
8
9
10
11
12
13
|
# File 'lib/folder/folder.rb', line 5
def self.enter(path = '.', &block)
m = Magic.new
m.enter path
m.relative_to_me
if block_given?
yield m
end
m.exit
end
|
.enter_here(file, &block) ⇒ Object
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/folder/folder.rb', line 15
def self.enter_here(file, &block)
m = Magic.new
path = File.dirname(file)
m.enter path
m.relative_to_me
if block_given?
yield m
end
m.exit
end
|
.here(file) ⇒ Object
124
125
126
127
|
# File 'lib/folder/folder.rb', line 124
def self.here(file)
FileUtils.cd File.dirname(file)
self
end
|
.rel_base(dir, source, &block) ⇒ Object
26
27
28
|
# File 'lib/folder/folder.rb', line 26
def self.rel_base(dir, source, &block)
enter(relative_path dir, source, &block)
end
|
.relative_path(req_file, source, base_dir = nil) ⇒ Object
Folder.require_rel ‘spec/spec_helper’, __FILE__ require /spec/spec_helper.rb relative to current file location
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/folder/folder.rb', line 32
def self.relative_path(req_file, source, base_dir = nil)
req_file = File.join(base_dir, req_file) if base_dir
source_dir = File.dirname(source)
req_dir = req_file.split('/')[0] || req_file
req_file = req_file.split('/')[1]
folders = source_dir.split req_dir
folderlist = folders[1] ? folders[1].split('/') : folders[1]
if folderlist
path_nav = folderlist.inject([]){|res, f| res << '..' }.join('/')
else
path_nav = ''
end
File.expand_path(source_dir + "#{path_nav}/#{req_file}")
end
|
.require_all(*folders) ⇒ Object
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/folder/folder.rb', line 77
def self.require_all(*folders)
if folders.empty?
magics = Magic.new.all
return magics.dup.extend(MagicList).do_require
end
folders.each do |folder|
enter folder do |f|
fs = f.all
fs.dup.extend(MagicList).do_require
end
end
end
|
.require_all_here(file_name) ⇒ Object
90
91
92
|
# File 'lib/folder/folder.rb', line 90
def self.require_all_here(file_name)
require_all File.dirname(file_name)
end
|
.require_all_recursive(*folders) ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/folder/folder.rb', line 64
def self.require_all_recursive(*folders)
if folders.empty?
magics = Magic.new.all_recursive
return magics.dup.extend(MagicList).do_require
end
folders.each do |folder|
enter folder do |f|
fs = f.all_recursive
fs.dup.extend(MagicList).do_require
end
end
end
|
.require_all_recursive_here(file_name) ⇒ Object
94
95
96
|
# File 'lib/folder/folder.rb', line 94
def self.require_all_recursive_here(file_name)
require_all_recursive File.dirname(file_name)
end
|
.require_me(*files) ⇒ Object
134
135
136
137
|
# File 'lib/folder/folder.rb', line 134
def self.require_me(*files)
magics = Magic.new.all(files)
return magics.dup.extend(MagicList).do_require
end
|
.require_me_recursive(*files) ⇒ Object
129
130
131
132
|
# File 'lib/folder/folder.rb', line 129
def self.require_me_recursive(*files)
magics = Magic.new.all_recursive(files)
return magics.dup.extend(MagicList).do_require
end
|
.require_rel(req_file, source, base_dir = nil) ⇒ Object
Folder.require_rel ‘spec/spec_helper’, __FILE__ require /spec/spec_helper.rb relative to current file location
52
53
54
|
# File 'lib/folder/folder.rb', line 52
def self.require_rel(req_file, source, base_dir = nil)
require relative_path(req_file, source, base_dir)
end
|
.require_spec(req_file, source) ⇒ Object
56
57
58
|
# File 'lib/folder/folder.rb', line 56
def self.require_spec(req_file, source)
require relative_path(req_file, source, 'spec')
end
|
.require_test(req_file, source) ⇒ Object
60
61
62
|
# File 'lib/folder/folder.rb', line 60
def self.require_test(req_file, source)
require relative_path(req_file, source, 'test')
end
|
.show_require_all(*folders) ⇒ Object
111
112
113
114
115
116
117
118
119
120
121
122
|
# File 'lib/folder/folder.rb', line 111
def self.show_require_all(*folders)
if folders.empty?
magics = Magic.new.all
return magics.dup.extend(MagicList).show_require
end
folders.each do |folder|
enter folder do |f|
fs = f.all
fs.dup.extend(MagicList).show_require
end
end
end
|
.show_require_all_recursive(*folders) ⇒ Object
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/folder/folder.rb', line 98
def self.show_require_all_recursive(*folders)
if folders.empty?
magics = Magic.new.all_recursive
return magics.dup.extend(MagicList).show_require
end
folders.each do |folder|
enter folder do |f|
fs = f.all_recursive
fs.dup.extend(MagicList).show_require
end
end
end
|