Sha256: f579858f2a9a46ac48f2260c37967cfc5f6c5babc28cdc757e53a2097b2ffaf5

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

require 'ftools'

class FeatureConsumer
  include RunCommand
  include YAMLConfig
  include Logging

  attr_accessor :package_dir, :consumer_dir, :application_name

  def execute()
    raise "The directory containing the packages has not been specified" if @package_dir.nil?
    raise "The directory packages should be copied to has not been specified" if @consumer_dir.nil?
    raise "The name of the application has not been specified" if @application_name.nil?

    Dir[@package_dir + "/**/#{@application_name}/**/**"].each do |resource|
      raise "Could not find the app name in the resource type" if resource.match(/.*\/#{@application_name}\/(.*)/).nil?
      
      destination = File.expand_path(File.join(@consumer_dir, $1))
      next if File.directory?(resource)

      dir = File.expand_path(File.dirname(destination))
      FileUtils.mkdir_p(dir) if false == File.exists?(dir)

      puts "Copying #{resource} to #{destination}"
      File.copy(resource, destination)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seabass-0.2.4 lib/seabass/feature_consumer.rb