Class: Bake::Loader
- Inherits:
-
Object
- Object
- Bake::Loader
- Defined in:
- lib/bake/loader.rb
Instance Attribute Summary collapse
-
#root ⇒ Object
readonly
Returns the value of attribute root.
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(root, name: nil) ⇒ Loader
constructor
A new instance of Loader.
- #recipe_for(path) ⇒ Object
- #scope_for(path) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(root, name: nil) ⇒ Loader
Returns a new instance of Loader.
25 26 27 28 |
# File 'lib/bake/loader.rb', line 25 def initialize(root, name: nil) @root = root @name = name end |
Instance Attribute Details
#root ⇒ Object (readonly)
Returns the value of attribute root.
34 35 36 |
# File 'lib/bake/loader.rb', line 34 def root @root end |
Instance Method Details
#each ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/bake/loader.rb', line 36 def each return to_enum unless block_given? Dir.glob("**/*.rb", base: @root) do |file_path| yield file_path.sub(/\.rb$/, '').split(File::SEPARATOR) end end |
#recipe_for(path) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/bake/loader.rb', line 44 def recipe_for(path) if book = lookup(path) return book.lookup(path.last) else *path, name = *path if book = lookup(path) return book.lookup(name) end end end |
#scope_for(path) ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/bake/loader.rb', line 56 def scope_for(path) *directory, file = *path file_path = File.join(@root, directory, "#{file}.rb") if File.exist?(file_path) return Scope.load(file_path, path) end end |
#to_s ⇒ Object
30 31 32 |
# File 'lib/bake/loader.rb', line 30 def to_s "#{self.class} #{@name || @root}" end |