Class: NodeVersionRange

Inherits:
Object show all
Defined in:
ext/internal/node/nodes.rb

Instance Method Summary collapse

Constructor Details

#initialize(str) ⇒ NodeVersionRange

Returns a new instance of NodeVersionRange.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'ext/internal/node/nodes.rb', line 4

def initialize(str)
  if not str or str =~ /^\s*$/ then
    @inclusive_start = true
    @range_start = 0
    @range_end = 1.0 / 0
    @inclusive_end = true
  elsif str =~ / ([\[(]) (.*?), \s* (.*?) ([\])]) /x then
    @inclusive_start = $1 == '['
    @range_start = $2.to_i
    @range_end = $3 == 'oo' ? (1.0 / 0) : $3.to_i
    @inclusive_end = $4 == ']'
  else
    raise "Invalid version range: #{str}"
  end
end

Instance Method Details

#includes?(version_code) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'ext/internal/node/nodes.rb', line 20

def includes?(version_code)
  if @inclusive_start then
    return false if version_code < @range_start
  else
    return false if version_code <= @range_start
  end

  if @inclusive_end then
    return false if version_code > @range_end
  else
    return false if version_code >= @range_end
  end

  return true
end