NDD RSpec

Build Status Dependency Status Code Climate Test Coverage Yard Documentation Documentation Coverage

RSpec utilities.

The API documentation can be find at RubyDoc.

Installation

Add this line to your application's Gemfile:

gem 'ndd-rspec-rails'

And then execute bundle

Or install it yourself with gem install ndd-rspec-rails

Usage

Prerequisites

This gem requires:

  • rspec >= 3.0

And is tested with:

  • Ruby 2.4
  • Ruby 2.3
  • Ruby 2.2

be_sorted_by

expect(%w[1 2 3]).to be_sorted_by(:to_i)  # => success
expect(%w[1 3 2]).to be_sorted_by(:to_i)  # => failure

be_reverse_sorted_by

expect(%w[3 2 1]).to be_reverse_sorted_by(:to_i)  # => true
expect(%w[1 3 2]).to be_reverse_sorted_by(:to_i)  # => false

Development

Prerequisites

In order to extensively test this library with all the supported versions of Ruby and RSpec, you will need to manage:

  • several Ruby environments using RVM
  • several gems sets using Appraisal
  • several test execution environments (Ruby and gems) using WWTD

Setup

After installing RVM, check out the repository and run bin/setup to setup all the environments. This script will:

  • create the latest Ruby environment with RVM and an associated gems set using the .ruby-version and .ruby-gemset files:
rvm use
gem install bundler --no-rdoc --no-ri
bundle install
  • install all the required Ruby versions listed in .travis.yml. For example:
export LOCAL_RUBY_VERSION=2.2.7 \
 && rvm install ruby-$LOCAL_RUBY_VERSION \
 && rvm use ruby-$LOCAL_RUBY_VERSION \
 && gem install bundler --no-rdoc --no-ri
export LOCAL_RUBY_VERSION=2.3.4 \
 && rvm install ruby-$LOCAL_RUBY_VERSION \
 && rvm use ruby-$LOCAL_RUBY_VERSION \
 && gem install bundler --no-rdoc --no-ri
export LOCAL_RUBY_VERSION=2.4.1 \
 && rvm install ruby-$LOCAL_RUBY_VERSION \
 && rvm use ruby-$LOCAL_RUBY_VERSION \
 && gem install bundler --no-rdoc --no-ri
  • create a Gemfile.lock for each set of the dependencies:
appraisal install
  • install all the dependencies in their associated environment:
wwtd --only-bundle

At last, to test this library in all the supported environments, just run:

wwtd --parallel

Release

As a reminder...

  • update the changelog
  • update the library version
  • update all dependencies in all the environments:
bundle update
appraisal update
wwtd --only-bundle
  • run the tests in all the environments with wwtd --parallel
  • release with bundle exec rake release

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ddidier/ndd-rspec. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.