Class: Grouik::Helpers::Loader
- Inherits:
-
Object
- Object
- Grouik::Helpers::Loader
- Defined in:
- src/lib/grouik/helpers/loader.rb
Overview
Loader helper, see Grouik::Loader
Instance Method Summary collapse
-
#collect_loadables(paths) ⇒ Grouik::Types::Loadables
Collect loadables by paths.
- #files_in_path(path) ⇒ Array<Pathname>
-
#make_ignores(input) ⇒ Array<Regexp>
Make ignores.
-
#make_loadables ⇒ Object
Make loadables.
- #pwd ⇒ Pathname
-
#register_paths(basedir, paths) ⇒ Object
Register paths.
Instance Method Details
#collect_loadables(paths) ⇒ Grouik::Types::Loadables
Collect loadables by paths
61 62 63 64 65 66 67 68 69 70 71 |
# File 'src/lib/grouik/helpers/loader.rb', line 61 def collect_loadables(paths) loadables = self.make_loadables paths.each do |path| self.files_in_path(path).each do |file| loadables = loadables.add_file(file, path.to_s) end end loadables end |
#files_in_path(path) ⇒ Array<Pathname>
47 48 49 50 51 52 53 54 55 |
# File 'src/lib/grouik/helpers/loader.rb', line 47 def files_in_path(path) loaddir = path.to_s basereg = %r{^#{Regexp.quote(loaddir)}\/} Dir.glob(path.join('**/*.rb')) .sort .map { |file| file.gsub(basereg, '') } .map { |file| Pathname.new(file) } end |
#make_ignores(input) ⇒ Array<Regexp>
Make ignores
24 25 26 |
# File 'src/lib/grouik/helpers/loader.rb', line 24 def make_ignores(input) input.to_a.map { |s| s.is_a?(Regexp) ? s : /^#{s}$/ } end |
#make_loadables ⇒ Object
Make loadables
@@return [Grouik::Types::Loadables]
16 17 18 |
# File 'src/lib/grouik/helpers/loader.rb', line 16 def make_loadables Grouik::Types::Loadables.new end |
#pwd ⇒ Pathname
41 42 43 |
# File 'src/lib/grouik/helpers/loader.rb', line 41 def pwd Pathname.new(Dir.pwd) end |
#register_paths(basedir, paths) ⇒ Object
Register paths
32 33 34 35 36 37 38 |
# File 'src/lib/grouik/helpers/loader.rb', line 32 def register_paths(basedir, paths) basedir = Pathname.new(basedir) paths.reverse.each do |path| $LOAD_PATH.unshift basedir.realpath.join(path).to_s end end |