Sha256: 87d1078624f037da178ac060050c4109557ef7baf1504a5a3c8b35acd5412e5f

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'eac_templates/abstract/directory'
require 'eac_templates/interface_methods'
require 'eac_templates/modules/ancestor/fs_object'

module EacTemplates
  module Modules
    class Ancestor
      class Directory < ::EacTemplates::Abstract::Directory
        include ::EacTemplates::Modules::Ancestor::FsObject
        delegate :found?, :path, to: :source_object

        # @return [Hash<Pathname, Symbol>]
        def children_basenames
          source_object.children_basenames.to_h { |k, v| parse_child_basename(k, v) }
        end

        protected

        # @param basename [Pathname]
        # @param type [Symbol]
        # @return [Array]
        def parse_child_basename(basename, type)
          return [basename, type] unless type == :file

          new_basename = ::EacTemplates::Modules::Ancestor::File.parse_basename(basename)

          return [basename, type] if new_basename == basename

          [new_basename, :file_template]
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
eac_templates-0.7.1 lib/eac_templates/modules/ancestor/directory.rb
eac_tools-0.93.0 sub/eac_templates/lib/eac_templates/modules/ancestor/directory.rb
eac_templates-0.7.0 lib/eac_templates/modules/ancestor/directory.rb
eac_tools-0.91.0 sub/eac_templates/lib/eac_templates/modules/ancestor/directory.rb