summaryrefslogtreecommitdiff
path: root/lib/bundler/feature_flag.rb
blob: dea8abedba393c79eaf461b79a7b6f4e9df45eaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

module Bundler
  class FeatureFlag
    (1..10).each {|v| define_method("bundler_#{v}_mode?") { @major_version >= v } }

    def removed_major?(target_major_version)
      @major_version > target_major_version
    end

    def deprecated_major?(target_major_version)
      @major_version >= target_major_version
    end

    def initialize(bundler_version)
      @bundler_version = Gem::Version.create(bundler_version)
      @major_version = @bundler_version.segments.first
    end
  end
end