Class: MilkTea::PackageVersionReq::Constraint

Inherits:
Data
  • Object
show all
Defined in:
lib/milk_tea/packages/version.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#operatorObject (readonly)

Returns the value of attribute operator

Returns:

  • (Object)

    the current value of operator



46
47
48
# File 'lib/milk_tea/packages/version.rb', line 46

def operator
  @operator
end

#versionObject (readonly)

Returns the value of attribute version

Returns:

  • (Object)

    the current value of version



46
47
48
# File 'lib/milk_tea/packages/version.rb', line 46

def version
  @version
end

Instance Method Details

#matches?(candidate) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/milk_tea/packages/version.rb', line 47

def matches?(candidate)
  case operator
  when :eq
    candidate == version
  when :gt
    candidate > version
  when :gte
    candidate >= version
  when :lt
    candidate < version
  when :lte
    candidate <= version
  else
    raise PackageVersionError, "unsupported package version operator #{operator.inspect}"
  end
end

#to_sObject



64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/milk_tea/packages/version.rb', line 64

def to_s
  prefix = case operator
           when :eq then "="
           when :gt then ">"
           when :gte then ">="
           when :lt then "<"
           when :lte then "<="
           else
             raise PackageVersionError, "unsupported package version operator #{operator.inspect}"
           end

  "#{prefix}#{version}"
end