class Supercop::Actions::ConfigCopier

Constants

CONFIG_PATH

Attributes

destination[R]
filename[R]
options[R]
source[R]

Public Class Methods

new(args) click to toggle source
# File lib/supercop/actions/config_copier.rb, line 7
def initialize(args)
  @filename = args.fetch(:filename, 'supercop.yml')
  @destination = args.fetch(:destination)
  @options = args.fetch(:options, {})
  @source = args.fetch(:source, 'supercop.yml')
end

Public Instance Methods

call() click to toggle source
# File lib/supercop/actions/config_copier.rb, line 14
def call
  return "There is no destination #{destination}" if invalid_destination?
  return "#{destination_file} already exists" if File.file?(destination_file)

  FileUtils.copy(source_file, destination_file, options)

  "file #{destination_file} was created"
rescue => e
  "Could not create file. #{e.message}"
end

Private Instance Methods

destination_file() click to toggle source
# File lib/supercop/actions/config_copier.rb, line 37
def destination_file
  File.join(destination, filename)
end
invalid_destination?() click to toggle source
# File lib/supercop/actions/config_copier.rb, line 29
def invalid_destination?
  destination.empty? || !Dir.exist?(destination)
end
root() click to toggle source
# File lib/supercop/actions/config_copier.rb, line 41
def root
  Gem.loaded_specs['supercop'].full_gem_path
end
source_file() click to toggle source
# File lib/supercop/actions/config_copier.rb, line 33
def source_file
  File.join(root, CONFIG_PATH, source)
end