module Kernel

rubocop:disable all

Public Instance Methods

And(desc, &block) click to toggle source
# File lib/spec_helper.rb, line 39
def And desc, &block
  describe "and #{desc}", &block
end
Class(thing, &block) click to toggle source
# File lib/spec_helper.rb, line 15
def Class thing, &block
  describe_set_subject thing, &block
end
Constant(thing, &block) click to toggle source
# File lib/spec_helper.rb, line 19
def Constant thing, &block
  describe_set_subject thing, &block
end
Instance(&block) click to toggle source
# File lib/spec_helper.rb, line 27
def Instance &block
  describe 'instance', &block
end
Module(thing, &block) click to toggle source
# File lib/spec_helper.rb, line 23
def Module thing, &block
  describe_set_subject thing, &block
end
RespondsTo(desc, &block) click to toggle source
# File lib/spec_helper.rb, line 31
def RespondsTo desc, &block
  describe "responds to #{desc}", &block
end
RoleTest(desc) click to toggle source
# File lib/spec_helper.rb, line 43
def RoleTest desc
  load Subledger::ROOT + "/spec/roles/#{desc}_spec.rb"
end
When(desc, &block) click to toggle source
# File lib/spec_helper.rb, line 35
def When desc, &block
  describe "when #{desc}", &block
end

Private Instance Methods

describe_set_subject(*args, &block) click to toggle source

Thanks Anton Lindqvist! github.com/mptre/minitest-implicit-subject

# File lib/spec_helper.rb, line 52
def describe_set_subject *args, &block
  cls = describe *args, &block

  subject = args.first

  if subject.respond_to?(:included_modules) &&
     Array(subject.included_modules).include?(Singleton)

    subject = subject.instance
  end

  cls.subject { subject }

  cls
end