Sha256: 7c00e7dd3bbdd45059dbed32f04b9668b3fcefb2285317439b10b9da7ec31de9

Contents?: true

Size: 949 Bytes

Versions: 2

Compression:

Stored size: 949 Bytes

Contents

# frozen_string_literal: true

module RSGem
  module CIProviders
    class Base
      attr_reader :config_file_destination, :config_file_source, :name, :display_name

      def initialize(config_file_source: nil, config_file_destination: nil, display_name:, name:)
        @config_file_source = config_file_source
        @config_file_destination = config_file_destination
        @display_name = display_name
        @name = name
      end

      def install(context)
        destination = "#{context.folder_path}/#{config_file_destination}"

        File.delete(destination) if File.exist?(destination)
        FileUtils.mkdir_p(File.dirname(destination))
        File.open(destination, 'w') do |file|
          file.puts config_file_source_content
        end

        puts "\t#{display_name} CI configuration added"
      end

      private

      def config_file_source_content
        File.read(config_file_source)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rsgem-0.1.1 lib/rsgem/ci_providers/base.rb
rsgem-0.1.0 lib/rsgem/ci_providers/base.rb