No commit activity in last 3 years
No release in over 3 years
shared_context for rake task
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

RakeSharedContext

Build Status Gem Version Stories in Ready

shared_context for rake tasks.

This gem is inspired by this post.

Installation

Add this line to your application's Gemfile:

gem 'rake_shared_context'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rake_shared_context

Usage

If you have rake reports:generate like following.

# lib/tasks/reports.rake
namespace :reports do
  desc "Generate report"

  task :generate => :environment do
    ReportGenerator.generate
  end
end

Then you can write following.

# spec/lib/tasks/reports_rake_spec.rb

require 'spec_helper'
describe "reports:generate" do
  include_context "rake"

  it 'prerequisites should include "environment"' do
    expect(subject.prerequisites).to include('environment')
  end

  it "generates the report" do
    expect(ReportGenerator).to receive(:generate)
    subject.invoke
  end
end

Details

  • It expects that rake files are located under lib/tasks
  • It expects that a argument is passed to describe is task name

Supported versions

  • Ruby 1.9.3, 2.0.0, 2.1.x, 2.2.x, 2.3.x, 2.4.x
  • Rspec 2, 3

Development

To set up a development environment, do following

bundle install
appraisal install
bundle exec appraisal rspec-2 rake # test with rspec 2
bundle exec appraisal rspec-3 rake # test with rspec 3

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request