Sha256: 0c80751a893df92bd6964e95e258989c0f97329dd6e2cafb0908569300fbe339

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Umwelt::CLI::Commands
  class Clone < Hanami::CLI::Command
    desc 'Clone project from remote Umwelt'

    argument :user_project,
             type: :string, required: true,
             desc: 'provide project as USERNAME/PROJECTNAME'

    option :target,
           type: :string,
           default: '.umwelt',
           desc: 'provide folder for store umwelt'

    def call(user_project:, **options)
      puts "Cloning project: <#{user_project}>"
      puts options.inspect
      puts options.fetch(:target)

      report(
        Umwelt::Command::Clone
               .new(path: options.fetch(:target))
               .call(user_project: user_project)
      )
    end

    private

    def report(result)
      if result.success?
        result.written_paths.each_pair do |key, value|
          puts "#{key} => (#{value})"
        end
        puts "#{result.written_paths.keys.count} files written succesfully"
      else
        result.errors.each { |e| puts "Error: #{e}" }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
umwelt-0.2 lib/umwelt/cli/commands/clone.rb