Skip to content

Commit

Permalink
[WIP] Add bundle_report compatibility --ruby-version report
Browse files Browse the repository at this point in the history
  • Loading branch information
JuanVqz committed May 18, 2024
1 parent 4752fc9 commit 25c7c09
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
12 changes: 12 additions & 0 deletions lib/next_rails/bundle_report/ruby_version.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class NextRails::BundleReport::RubyVersion
attr_reader :ruby_version, :gems

def initialize(gems: NextRails::GemInfo.all, ruby_version: nil)
@gems = gems
@ruby_version = ruby_version
end

def incompatible
gems.reject { |gem| gem.compatible_with_ruby?(ruby_version) }
end
end
4 changes: 4 additions & 0 deletions lib/next_rails/gem_info.rb
Original file line number Diff line number Diff line change
Expand Up @@ -147,5 +147,9 @@ def spec_compatible_with_rails?(specification: nil, rails_version: nil)
rails_dependency.requirement.satisfied_by?(Gem::Version.new(rails_version))
end
end

def compatible_with_ruby?(ruby_version)
gem_specification.required_ruby_version.satisfied_by?(Gem::Version.new(ruby_version))
end
end
end
11 changes: 11 additions & 0 deletions spec/next_rails/bundle_report/ruby_version_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
require_relative "../../spec_helper"
require_relative "../../../lib/next_rails/bundle_report/ruby_version"

RSpec.describe NextRails::BundleReport::RubyVersion do
describe "#incompatible" do
it "returns 0 incompatible gems" do
result = NextRails::BundleReport::RubyVersion.new(ruby_version: 3.0).incompatible
expect(result).to eq []
end
end
end

0 comments on commit 25c7c09

Please sign in to comment.