Class: EacTemplates::Abstract::Directory
- Defined in:
- lib/eac_templates/abstract/directory.rb
Direct Known Subclasses
Modules::Ancestor::Directory, Modules::Base::Directory, Sources::Directory
Instance Method Summary collapse
-
#build_child(child_basename, child_type) ⇒ EacTemplates::Abstract::FsObject
EacTemplates::Abstract::FsObject.
- #child(basename) ⇒ EacTemplates::Abstract::FsObject
- #children ⇒ Enumerable<EacTemplates::Abstract::FsObject>
- #children_basenames ⇒ Hash<Pathname, Symbol>
Methods inherited from FsObject
#applier, #applier_class, assert, by_subpath, #category_module, #path_for_search, #path_for_search_prefix, #raise_not_found, #source_set, #type, #type_list
Instance Method Details
#build_child(child_basename, child_type) ⇒ EacTemplates::Abstract::FsObject
Returns EacTemplates::Abstract::FsObject.
16 17 18 19 20 21 |
# File 'lib/eac_templates/abstract/directory.rb', line 16 def build_child(child_basename, child_type) child_basename = child_basename.to_pathname child_type = type_list.value_validate!(child_type) category_module.const_get(child_type.to_s.camelize) .new(owner, self, child_basename, ) end |
#child(basename) ⇒ EacTemplates::Abstract::FsObject
25 26 27 28 29 |
# File 'lib/eac_templates/abstract/directory.rb', line 25 def child(basename) basename = basename.to_pathname children.find { |c| c.basename == basename } || raise_not_found("No child found with basename \"#{basename}\"") end |
#children ⇒ Enumerable<EacTemplates::Abstract::FsObject>
32 33 34 |
# File 'lib/eac_templates/abstract/directory.rb', line 32 def children children_basenames.map { |c_basename, c_type| build_child(c_basename, c_type) } end |
#children_basenames ⇒ Hash<Pathname, Symbol>
37 38 39 |
# File 'lib/eac_templates/abstract/directory.rb', line 37 def children_basenames raise_abstract_method __method__ end |