Sha256: ab6e8d3c707a315264060e8857b8cb6490aa0ee6dece6ab38cb707ae5f9312c3

Contents?: true

Size: 1.81 KB

Versions: 14

Compression:

Stored size: 1.81 KB

Contents

# frozen_string_literal: true

require 'fileutils'
require 'yaml'

module Awspec
  class Setup
    def self.run
      generate_spec_helper
      generate_rakefile
      generate_dotgitignore
      generate_dotrspec
    end

    def self.generate_spec_helper
      content = <<-'EOF'
require 'awspec'
Awsecrets.load(secrets_path: File.expand_path('./secrets.yml', File.dirname(__FILE__)))
EOF
      dir = 'spec'
      if File.exist? dir
        unless File.directory? dir
          warn "!! #{dir} already exists and is not a directory"
        end
      else
        FileUtils.mkdir dir
        puts " + #{dir}/"
      end

      if File.exist? 'spec/spec_helper.rb'
        warn '!! spec/spec_helper.rb already exists'
      else
        File.open('spec/spec_helper.rb', 'w') do |f|
          f.puts content
        end
        puts ' + spec/spec_helper.rb'
      end
    end

    def self.generate_rakefile
      content = <<-'EOF'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new('spec')
task :default => :spec
EOF

      if File.exist? 'Rakefile'
        warn '!! Rakefile already exists'
      else
        File.open('Rakefile', 'w') do |f|
          f.puts content
        end
        puts ' + Rakefile'
      end
    end

    def self.generate_dotgitignore
      content = <<-'EOF'
secrets.yml
EOF
      if File.exist? 'spec/.gitignore'
        warn '!! spec/.gitignore already exists'
      else
        File.open('spec/.gitignore', 'w') do |f|
          f.puts content
        end
        puts ' + spec/.gitignore'
      end
    end

    def self.generate_dotrspec
      content = <<-'EOF'
--color
--format documentation
EOF
      if File.exist? '.rspec'
        warn '!! .rspec already exists'
      else
        File.open('.rspec', 'w') do |f|
          f.puts content
        end
        puts ' + .rspec'
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
awspec-1.32.0 lib/awspec/setup.rb
awspec-1.31.0 lib/awspec/setup.rb
awspec-1.30.0 lib/awspec/setup.rb
awspec-1.29.3 lib/awspec/setup.rb
awspec-1.29.2 lib/awspec/setup.rb
awspec-1.29.1 lib/awspec/setup.rb
awspec-1.29.0 lib/awspec/setup.rb
awspec-1.28.2 lib/awspec/setup.rb
awspec-1.28.1 lib/awspec/setup.rb
awspec-1.28.0 lib/awspec/setup.rb
awspec-1.27.1 lib/awspec/setup.rb
awspec-1.27.0 lib/awspec/setup.rb
awspec-1.26.0 lib/awspec/setup.rb
awspec-1.25.2 lib/awspec/setup.rb