Skip to content

Do we need to depend on Bourne? #202

Closed
gabebw opened this Issue Dec 6, 2012 · 12 comments
@gabebw
thoughtbot, inc. member
gabebw commented Dec 6, 2012

Discussion here: 760b7da#commitcomment-2266315

@tristandunn:

Any chance of reverting this? Annoying if you don't use the delegate_method matcher, but do use bourne. I can't upgrade due to the semi-strict version requirement.

@gabebw:

Is there a version requirement that would be better for you? Maybe ~> 1.0?

@tristandunn:

Yes, that would be better, if reverting this isn't an option.

Do we need to depend on bourne as an install (rather than runtime) dependency?

@tristandunn

Any update on this?

@pboling
pboling commented Jan 4, 2013

Just ran into this myself. bourne depends on a strict version of mocha, which means that shoulda-matchers inherits that strict dependence.

Bundler could not find compatible versions for gem "mocha":
  In Gemfile:
    shoulda-matchers (>= 0) ruby depends on
      mocha (= 0.12.3) ruby

    mocha (0.13.0)

For now I will be reverting to mocha 0.12.3

I don't understand why shoulda-matchers would pull in mocha, which is just an optional mocking library (that I happen to also use). I think perhaps there is something that could be extracted, so I can use both shoulda-matchers, and whatever version of mocha I want.

@aaronjensen

👍 I do not want mocha or bourne, but now I must have them if I want to use shoulda-matchers. Pulling bourne and mocha in actually broke one of our tests.

@ZenCocoon

Facing issues as well due to Bourne requirement. Making it optional would really be great and still seem highly flexible.

@thoughtafter

I have shoulda-matchers pinned at 1.4.1 to prevent dependencies on metaclass, mocha, and bourne. It would be great to see bourne made as a soft dependency moving forward.

@ZenCocoon

@thoughtafter you might like to check thoughtbot/bourne#23 about this subject.

@oneamtu
oneamtu commented Mar 14, 2013

++. Pulling in the bourne/mocha=0.10.5 as a dependency for shoulda-matchers overrides the unstub method added by rspec to all objects.

@dschweisguth

It also overrides RR's have_received, and probably RSpec's have_received. I'll stick with 1.4.1 for a bit in the hope that this is resolved.

@mhenrixon

thanks @dschweisguth I'll downgrade to 1.4.1 too. This was incredibly frustrating but I guess I had it coming for having such loose version dependencies.

@drapergeek
thoughtbot, inc. member

For all involved and watching this: we are removing this requirement for 2.0. Please see #252

@dschweisguth

@drapergeek thanks, good to know.

@mxie
thoughtbot, inc. member
mxie commented Apr 5, 2013

Closing this since we've just released version 2.0 that removes bourne as a dependency. It has been added a development dependency instead, essentially reverting the change made here: 760b7da#commitcomment-2266315

@mxie mxie closed this Apr 5, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.