Class: Bundler::VersionRanges::ReqR

Inherits:
Struct
  • Object
show all
Defined in:
lib/bundler/version_ranges.rb,
lib/bundler/version_ranges.rb

Defined Under Namespace

Classes: Endpoint

Constant Summary collapse

INFINITY =
Object.new.freeze
ZERO =
Gem::Version.new("0.a")
UNIVERSAL =
ReqR.new(ReqR::Endpoint.new(Gem::Version.new("0.a"), true), ReqR::Endpoint.new(ReqR::INFINITY, false)).freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#leftObject

Returns the value of attribute left

Returns:

  • (Object)

    the current value of left



6
7
8
# File 'lib/bundler/version_ranges.rb', line 6

def left
  @left
end

#rightObject

Returns the value of attribute right

Returns:

  • (Object)

    the current value of right



6
7
8
# File 'lib/bundler/version_ranges.rb', line 6

def right
  @right
end

Instance Method Details

#cover?(v) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
19
20
21
22
23
24
25
# File 'lib/bundler/version_ranges.rb', line 15

def cover?(v)
  return false if left.inclusive && left.version > v
  return false if !left.inclusive && left.version >= v

  if right.version != INFINITY
    return false if right.inclusive && right.version < v
    return false if !right.inclusive && right.version <= v
  end

  true
end

#empty?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/bundler/version_ranges.rb', line 27

def empty?
  left.version == right.version && !(left.inclusive && right.inclusive)
end

#single?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/bundler/version_ranges.rb', line 31

def single?
  left.version == right.version
end

#to_sObject



9
10
11
# File 'lib/bundler/version_ranges.rb', line 9

def to_s
  "#{left.inclusive ? "[" : "("}#{left.version}, #{right.version}#{right.inclusive ? "]" : ")"}"
end