Class: EacTemplates::Abstract::FsObject
- Defined in:
- lib/eac_templates/abstract/fs_object.rb
Class Method Summary collapse
- .assert(obj) ⇒ EacTemplates::Abstract::FsObject, EacTemplates::Abstracts::FsObjectByPathname
- .by_subpath(owner, parent_object, subpath, options = {}) ⇒ EacTemplates::Abstract::FsObject
Instance Method Summary collapse
- #applier ⇒ EacTemplates::Variables::Directory, EacTemplates::Variables::File
- #applier_class ⇒ Class
- #category_module ⇒ Module
- #path_for_search ⇒ Pathname
- #path_for_search_prefix ⇒ Pathname
- #raise_not_found(message) ⇒ Object
- #source_set ⇒ EacTemplates::Sources::Set
- #to_s ⇒ Object
- #type ⇒ Symbol
- #type_list ⇒ EacRubyUtils::Listable::SymbolList
Class Method Details
.assert(obj) ⇒ EacTemplates::Abstract::FsObject, EacTemplates::Abstracts::FsObjectByPathname
9 10 11 12 13 14 15 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 9 def assert(obj) if obj.is_a?(self) obj else ::EacTemplates::Abstract::FsObjectByPathname.new(obj) end end |
.by_subpath(owner, parent_object, subpath, options = {}) ⇒ EacTemplates::Abstract::FsObject
21 22 23 24 25 26 27 28 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 21 def by_subpath(owner, parent_object, subpath, = {}) r = new(owner, parent_object, nil, ) subpath.if_present(::Pathname.new(''), &:to_pathname).each_filename do |basename| parent_object = r r = new(owner, parent_object, basename, ) end r end |
Instance Method Details
#applier ⇒ EacTemplates::Variables::Directory, EacTemplates::Variables::File
42 43 44 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 42 def applier applier_class.new(self) end |
#applier_class ⇒ Class
47 48 49 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 47 def applier_class ::EacTemplates::Variables.const_get(type.to_s.camelize) end |
#category_module ⇒ Module
52 53 54 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 52 def category_module self.class.module_parent end |
#path_for_search ⇒ Pathname
57 58 59 60 61 62 63 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 57 def path_for_search if parent_object.present? parent_object.path_for_search.join(basename) else path_for_search_prefix.join(basename) end end |
#path_for_search_prefix ⇒ Pathname
66 67 68 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 66 def path_for_search_prefix raise_abstract_method __method__ end |
#raise_not_found(message) ⇒ Object
70 71 72 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 70 def raise_not_found() raise ::EacTemplates::Errors::NotFound, end |
#source_set ⇒ EacTemplates::Sources::Set
75 76 77 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 75 def source_set [OPTION_SOURCE_SET] || ::EacTemplates::Sources::Set.default end |
#to_s ⇒ Object
89 90 91 92 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 89 def to_s source_set = .if_key(:source_set, '-', &:included_paths) "#{self.class}[Basename: #{basename}, Source Set: #{source_set}]" end |
#type ⇒ Symbol
80 81 82 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 80 def type type_list.value_validate!(self.class.name.demodulize.underscore.to_sym) end |
#type_list ⇒ EacRubyUtils::Listable::SymbolList
85 86 87 |
# File 'lib/eac_templates/abstract/fs_object.rb', line 85 def type_list ::EacTemplates::Abstract::FsObject.lists.type end |