Class: Aidp::AutoUpdate::BundlerAdapter
- Inherits:
-
Object
- Object
- Aidp::AutoUpdate::BundlerAdapter
- Defined in:
- lib/aidp/auto_update/bundler_adapter.rb
Overview
Adapter for querying gem versions via Bundler
Instance Method Summary collapse
-
#latest_version_for(gem_name) ⇒ Gem::Version?
Get the latest version of a gem according to bundle outdated.
Instance Method Details
#latest_version_for(gem_name) ⇒ Gem::Version?
Get the latest version of a gem according to bundle outdated
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/aidp/auto_update/bundler_adapter.rb', line 12 def latest_version_for(gem_name) Aidp.log_debug("bundler_adapter", "checking_gem_version", gem: gem_name) # Use mise exec to ensure correct Ruby version stdout, stderr, status = Open3.capture3( "mise", "exec", "--", "bundle", "outdated", gem_name, "--parseable" ) unless status.success? Aidp.log_debug("bundler_adapter", "bundle_outdated_failed", gem: gem_name, stderr: stderr.strip) return nil end # Parse bundle outdated output # Format: "gem_name (newest version, installed version, requested version)" # Example: "aidp (0.25.0, 0.24.0, >= 0)" parse_bundle_outdated(stdout, gem_name) rescue => e Aidp.log_error("bundler_adapter", "version_check_failed", gem: gem_name, error: e.) nil end |