super_diff icon indicating copy to clipboard operation
super_diff copied to clipboard

Dependency limitations

Open Amourlive opened this issue 4 years ago • 2 comments

Please add dependency limitations. Your gem is incompatible with rspec before version 3.4.1 at least. https://github.com/rspec/rspec-support/blame/a0bc8606b33041dee1e1eae17def1e37ed4bf734/lib/rspec/support/object_formatter.rb

Before rspec 3.4.1, the ObjectFormatter class was a module.

Amourlive avatar Jan 28 '22 18:01 Amourlive

You're right — the RSpec part of this gem was implemented against RSpec 3.8.0 or greater. I don't think we can add a constraint in the gemfile because there are some parts of this gem you can use without using RSpec specifically (and support for other frameworks is planned for the future), but it might be a good idea to add a runtime check at the top of super_diff/rspec.rb, after the import "super_diff" line. Perhaps something like:

if !defined?(RSpec)
  raise LoadError, "RSpec is not available — are you using this in an RSpec environment?"
end

rspec_version = Gem::Version.new(RSpec::VERSION)
rspec_requirement = Gem::Requirement.new(">= 3.8.0")

if !rspec_requirement.satisfied_by?(rspec_version)
  raise LoadError, "RSpec >= 3.8.0 is required to use super_diff/rspec."
end

mcmire avatar Jan 28 '22 23:01 mcmire

I like this solution! Thank you for considering my issue.

AlexeyMatskevich avatar Jan 29 '22 10:01 AlexeyMatskevich