diff options
Diffstat (limited to 'lib/bundler/match_platform.rb')
-rw-r--r-- | lib/bundler/match_platform.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/bundler/match_platform.rb b/lib/bundler/match_platform.rb new file mode 100644 index 0000000000..050cd0efd3 --- /dev/null +++ b/lib/bundler/match_platform.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true +require "bundler/gem_helpers" + +module Bundler + module MatchPlatform + include GemHelpers + + def match_platform(p) + MatchPlatform.platforms_match?(platform, p) + end + + def self.platforms_match?(gemspec_platform, local_platform) + return true if gemspec_platform.nil? + return true if Gem::Platform::RUBY == gemspec_platform + return true if local_platform == gemspec_platform + gemspec_platform = Gem::Platform.new(gemspec_platform) + return true if GemHelpers.generic(gemspec_platform) === local_platform + return true if gemspec_platform === local_platform + + false + end + end +end |