Sha256: bc2bde903a96e921ed6ca2b1b078780059b6e9f21fff1f98015ae2274fba4206
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
# frozen_string_literal: true require 'active_support/core_ext/object/blank' require 'eac_templates/sources/directory' require 'eac_templates/sources/file' require 'eac_templates/sources/internal_set' require 'eac_templates/errors/not_found' module EacTemplates module Sources class Set class << self def default @default ||= new end end # @param subpath [Pathname] # @return [EacTemplates::Sources::Directory] def directory(subpath) ::EacTemplates::Sources::Directory.by_subpath(self, nil, subpath, source_set: self) end # @param subpath [Pathname] # @return [EacTemplates::Sources::Directory] def file(subpath) ::EacTemplates::Sources::File.by_subpath(self, nil, subpath, source_set: self) end def template(subpath, required = true) # rubocop:disable Style/OptionalBooleanParameter found_file = file(subpath) return found_file if found_file.found? found_directory = directory(subpath) return found_directory if found_directory.found? return nil unless required raise_template_not_found(subpath) end # @return [EacTemplates::Sources::InternalSet] def included_paths @included_paths ||= ::EacTemplates::Sources::InternalSet.new end private def raise_template_not_found(subpath) raise ::EacTemplates::Errors::NotFound, 'Template not found for subpath ' \ "\"#{subpath}\" (Included paths: #{included_paths.to_a.join(::File::PATH_SEPARATOR)})" end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
eac_templates-0.7.0 | lib/eac_templates/sources/set.rb |
eac_tools-0.91.0 | sub/eac_templates/lib/eac_templates/sources/set.rb |