Method: Bundler::GemHelpers.select_all_platform_match

Defined in:
lib/bundler/gem_helpers.rb

.select_all_platform_match(specs, platform, force_ruby: false, prefer_locked: false) ⇒ Object


43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/bundler/gem_helpers.rb', line 43

def select_all_platform_match(specs, platform, force_ruby: false, prefer_locked: false)
  matching = if force_ruby
    specs.select {|spec| spec.match_platform(Gem::Platform::RUBY) && spec.force_ruby_platform! }
  else
    specs.select {|spec| spec.match_platform(platform) }
  end

  if prefer_locked
    locked_originally = matching.select {|spec| spec.is_a?(LazySpecification) }
    return locked_originally if locked_originally.any?
  end

  matching
end