module Turnip::RSpec::Loader

This module hooks Turnip into RSpec by duck punching the load Kernel method. If the file is a feature file, we run Turnip instead!

Public Instance Methods

load(*a, &b) click to toggle source
Calls superclass method
# File lib/turnip/rspec.rb, line 13
def load(*a, &b)
  if a.first.end_with?('.feature')
    require_if_exists 'turnip_helper'
    require_if_exists 'spec_helper'

    Turnip::RSpec.run(a.first)
  else
    super
  end
end

Private Instance Methods

require_if_exists(filename) click to toggle source
# File lib/turnip/rspec.rb, line 26
def require_if_exists(filename)
  require filename
rescue LoadError => e
  # Don't hide LoadErrors raised in the spec helper.
  raise unless e.message.include?(filename)
end