Sha256: 4844029bac4caa7e19df24bfeebcbe59c75729a3b5f55d7795773d33720063d8

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 KB

Contents

require 'active_support/all'
require 'securerandom'

module Allen
  class Cli < Thor
    include Thor::Actions

    attr_reader :name
    source_paths << File.expand_path("../../../templates",__FILE__)

    desc "new ClientName", "Initialize an Umbraco project"
    def new(name)
      @full_name = name
      @name = File.basename(File.expand_path(name)).gsub(/\W/, '_').squeeze('_').camelize
      self.destination_root = File.join(File.dirname(File.expand_path(name)), @name)

      empty_directory destination_root

      @umbraco_guid = guid
      @umbraco_assembly_guid = guid.downcase
      @umbraco_extensions_guid = guid
      @umbraco_extensions_assembly_guid = guid.downcase
      @nuget_guid = guid

      directory 'src'
      directory 'src/.nuget'
      template  '.gitignore'
      template  'README.md.tt'
      template  'Rakefile.tt'
      template  'Gemfile.tt'

      system "git init #{destination_root}"
    end

    no_tasks do
      def guid
        SecureRandom.uuid.to_s.upcase
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
allen-0.3.4 lib/allen/cli.rb
allen-0.3.3 lib/allen/cli.rb
allen-0.3.2 lib/allen/cli.rb
allen-0.3.1 lib/allen/cli.rb
allen-0.3.0 lib/allen/cli.rb