Class: PoiseBoiler::Helpers::Rake::Core

Inherits:
Halite::HelperBase
  • Object
show all
Defined in:
lib/poise_boiler/helpers/rake/core.rb

Overview

Helper for a Rakefile to install some standard tasks used by most Poise/Halite-style gems.

Examples:

Installing tasks

require 'poise_boiler/helpers/rake/core'
PoiseBoiler::Helpers::Rake::Core.install

Running tests

$ rake test

Since:

  • 1.0.0

Instance Method Summary collapse

Instance Method Details

#installvoid

This method returns an undefined value.

Install the rake tasks.

Since:

  • 1.0.0



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/poise_boiler/helpers/rake/core.rb', line 36

def install
  # Delayed so that Rake doesn't need to be loaded to run this file.
  extend ::Rake::DSL

  # Set the default task.
  task default: %i{test}

  # Create the spec task.
  require 'rspec/core/rake_task'
  RSpec::Core::RakeTask.new(:spec, :tag) do |t, args|
    t.rspec_opts = [].tap do |a|
      a << '--color'
      a << "--format #{ENV['CI'] ? 'documentation' : 'Fuubar'}"
      a << '--backtrace' if ENV['VERBOSE'] || ENV['DEBUG']
      a << "--seed #{ENV['SEED']}" if ENV['SEED']
      a << "--tag #{args[:tag]}" if args[:tag]
      a << "--default-path test"
      a << '-I test/spec'
    end.join(' ')
  end

  # Create the test task (which Halite will extend).
  task test: %i{spec}

  # Install gem tasks (build, upload, etc).
  unless options[:no_gem]
    require 'bundler/gem_helper'
    Bundler::GemHelper.install_tasks(options[:bundler] || {})
  end

  # Install the Halite tasks.
  require 'halite/rake_helper'
  Halite::RakeHelper.install(options)
end