# File lib/bundler/ruby_version.rb, line 5 def initialize(version, engine, engine_version) # The parameters to this method must satisfy the # following constraints, which are verified in # the DSL: # # * If an engine is specified, an engine version # must also be specified # * If an engine version is specified, an engine # must also be specified # * If the engine is "ruby", the engine version # must not be specified, or the engine version # specified must match the version. @version = version @engine = engine || "ruby" # keep track of the engine specified by the user @input_engine = engine @engine_version = engine_version || version end
# File lib/bundler/ruby_version.rb, line 32 def ==(other) version == other.version && engine == other.engine && engine_version == other.engine_version end
Returns a tuple of thsee things:
[diff, this, other] The priority of attributes are 1. engine 2. ruby_version 3. engine_version
# File lib/bundler/ruby_version.rb, line 44 def diff(other) if engine != other.engine && @input_engine [ :engine, engine, other.engine ] elsif version != other.version [ :version, version, other.version ] elsif engine_version != other.engine_version && @input_engine [ :engine_version, engine_version, other.engine_version ] else nil end end
# File lib/bundler/ruby_version.rb, line 25 def to_s output = "ruby #{version}" output << " (#{engine} #{engine_version})" unless engine == "ruby" output end