Class: EacTemplates::Modules::Base

Inherits:
Object
  • Object
show all
Includes:
Abstract::WithDirectoryFileMethods
Defined in:
lib/eac_templates/modules/base.rb,
lib/eac_templates/modules/base/file.rb,
lib/eac_templates/modules/base/directory.rb,
lib/eac_templates/modules/base/fs_object.rb

Defined Under Namespace

Modules: FsObject Classes: Directory, File

Instance Method Summary collapse

Methods included from Abstract::WithDirectoryFileMethods

#build_fs_object, #child_subpath, #directory, #file, #fs_object_class, #sub_fs_object

Instance Method Details

#child(basename) ⇒ EacTemplates::Abstract::FsObject

Parameters:

  • basename (Pathname)

Returns:

Raises:



26
27
28
29
30
31
32
33
34
# File 'lib/eac_templates/modules/base.rb', line 26

def child(basename)
  r = ::EacTemplates::Modules::Base.new(
    the_module, subpath: child_subpath(basename), source_set: source_set
  )
  return r if r.found?

  raise ::EacTemplates::Abstract::NotFoundError,
        "No child for #{self} found with basename \"#{basename}\""
end

#found?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/eac_templates/modules/base.rb', line 37

def found?
  file.found? || directory.found?
end

#source_setEacTemplates::SourceSet

Returns:

  • (EacTemplates::SourceSet)


42
43
44
# File 'lib/eac_templates/modules/base.rb', line 42

def source_set
  options[OPTION_SOURCE_SET] || ::EacTemplates::Sources::Set.default
end

#subpathPathname?

Returns:

  • (Pathname, nil)


47
48
49
# File 'lib/eac_templates/modules/base.rb', line 47

def subpath
  options[OPTION_SUBPATH].if_present(&:to_pathname)
end