Sha256: f52b6c29f7bb6c70590e847e1f28cd55961bddf26910a47e5f8fae6f839359db

Contents?: true

Size: 684 Bytes

Versions: 2

Compression:

Stored size: 684 Bytes

Contents

require "copypasta/entry/base"

require "fileutils"

module Copypasta
  module Entry
    class Copy < Copypasta::Entry::Base
      attr_reader :source

      def initialize(filename, directory:, source: nil, only_if: nil)
        raise "filename must be a string." unless filename.is_a?(String)
        raise "only_if must be null or a Proc." if !only_if.nil? && !only_if.is_a?(Proc)

        @filename = filename
        @directory = directory
        @only_if = only_if

        @source = source || filename
      end

      private

      def do_apply(destination, _parameters)
        FileUtils.cp("#{@directory}/#{@source}", target_file(destination))
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
copypasta-0.1.1 lib/copypasta/entry/copy.rb
copypasta-0.1.0 lib/copypasta/entry/copy.rb