Sha256: b1ba92136afff4e38a96c15572f9d82676902011ca856723ca2d4b4e35243b13

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

require 'thor'
require 'chef'

module Teststrap
  class Teststrap < Thor
    include Thor::Actions

    attr_accessor :cookbook_name

    default_task :generate_tests

    desc "generate_tests", "generate test files"
    def generate_tests
      @cookbook_name = current_directory_name
      puts "generating testfiles::"
      copy_file ".gitignore"
      copy_file ".rubocop.yml"
      copy_file "Berksfile"
      copy_file "chefignore"
      copy_file "Gemfile"
      copy_file "LICENSE"
      copy_file "rubocop-disabled.yml"
      copy_file "Strainerfile"
      copy_file "Thorfile"
      template "spec/default_spec.rb"
      template "spec/chefspec_helper.rb"
      template "test/integration/default/serverspec/localhost/default_spec.rb",
               "test/integration/#{@cookbook_name}/serverspec/localhost/default_spec.rb"
      template "test/integration/default/serverspec/spec_helper.rb",
               "test/integration/#{@cookbook_name}/serverspec/spec_helper.rb"
      template ".kitchen.yml"
      template "metadata.rb"
      template "README.md"
    end

    no_commands do
      def current_directory_name
        Dir.pwd.split('/').last
      end

      def run_command(cmd)
        exec(cmd)
      end

      def self.source_root
        generator_files_path
      end

      def self.generator_files_path
        File.expand_path('../../generator_files', __FILE__)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
teststrap-1.2.4 lib/teststrap.rb
teststrap-1.2.3 lib/teststrap.rb