Sha256: b788ba244279664e9b92347b616dffac82d561badcbd39244c59283ae8c75125

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

module Hyla
  module Commands
    class Create < Command

      def self.process(args, options)
        destination = options[:destination] if check_mandatory_option?('-d / --destination', options[:destination])
        artefact_type = options[:artefact_type] if check_mandatory_option?('-a / --artefact_type', options[:artefact_type])
        type = options[:type] if check_mandatory_option?('-t / --type', options[:type])

        copy_artefact(type, artefact_type, destination)
      end

      #
      # Copy Artefact to Destination directory
      #
      def self.copy_artefact(type, artefact_type, destination)
        artefact_file_name = type + '_' + artefact_type + Configuration::ADOC_EXT
        source = [Configuration::samples, artefact_file_name] * '/'
        destination = File.expand_path(destination)

        FileUtils.cp(source, destination)

        Hyla::logger.info ">>   Artefact #{artefact_file_name} added to project #{destination}"

        case artefact_type
          when 'image','audio','video','source'
           source_dir = [Configuration::samples, artefact_type] * '/'
           FileUtils.cp_r(source_dir,destination)
        end
      end

    end # class Create
  end # module Commands
end # module Hyla

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hyla-1.0.3 lib/hyla/commands/create.rb