Sha256: 088615899326b1b61b4db6a4fabd151ed9bced2d4ab834178c294dda7adddd41

Contents?: true

Size: 1.34 KB

Versions: 113

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module Avm
  module EacLatexBase0
    module Sources
      class Build
        class File
          require_sub __FILE__
          include ::Avm::EacLatexBase0::Sources::Build::File::BaseStereotype
          DEFAULT_STEREOTYPES = [::Avm::EacLatexBase0::Sources::Build::File::ChapterIndex,
                                 ::Avm::EacLatexBase0::Sources::Build::File::TexSource].freeze

          class << self
            def stereotypes
              DEFAULT_STEREOTYPES
            end
          end

          common_constructor :project, :subpath do
            self.class.stereotypes.each do |stereotype|
              singleton_class.prepend(stereotype) if stereotype.match?(subpath)
            end
          end

          def build_to_dir(build_root_target_dir)
            create_target_dir(build_root_target_dir)
            copy(target_path(build_root_target_dir))
          end

          private

          def create_target_dir(build_root_target_dir)
            FileUtils.mkdir_p(File.dirname(target_path(build_root_target_dir)))
          end

          def source_path
            File.join(project.root, subpath)
          end

          def target_path(build_root_target_dir)
            File.join(build_root_target_dir, target_subpath)
          end
        end
      end
    end
  end
end

Version data entries

113 entries across 113 versions & 2 rubygems

Version Path
avm-eac_latex_base0-0.3.2 lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.85.1 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.85.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.84.2 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.84.1 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.84.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.83.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.82.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.81.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.80.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.79.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.78.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.77.1 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.77.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.76.1 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.76.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.75.2 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.75.1 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.75.0 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb
eac_tools-0.74.1 sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb