Class: KeyVortex::Constraint::Maximum

Inherits:
Base
  • Object
show all
Defined in:
lib/key_vortex/constraint/maximum.rb

Overview

Enforces that objects which respond to #<= are less than the defined limit.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#applies_to?, #to_s

Constructor Details

#initialize(limit) ⇒ Maximum

Returns a new instance of Maximum.

Parameters:

  • limit (Integer)

    The maximum allowed value



14
15
16
17
# File 'lib/key_vortex/constraint/maximum.rb', line 14

def initialize(limit)
  super()
  @limit = limit
end

Instance Attribute Details

#limitInteger (readonly)

Returns The maximum allowed value.

Returns:

  • (Integer)

    The maximum allowed value



11
12
13
# File 'lib/key_vortex/constraint/maximum.rb', line 11

def limit
  @limit
end

Instance Method Details

#accepts?(value) ⇒ Boolean

Returns True if value <= limit.

Parameters:

  • value (Object)

    Must respond to #<=

Returns:

  • (Boolean)

    True if value <= limit



32
33
34
# File 'lib/key_vortex/constraint/maximum.rb', line 32

def accepts?(value)
  value <= limit
end

#attributeSymbol

Returns :maximum.

Returns:

  • (Symbol)

    :maximum



20
21
22
# File 'lib/key_vortex/constraint/maximum.rb', line 20

def attribute
  :maximum
end

#within?(constraint) ⇒ Boolean

Returns True if limit <= constraint.limit.

Parameters:

Returns:

  • (Boolean)

    True if limit <= constraint.limit



26
27
28
# File 'lib/key_vortex/constraint/maximum.rb', line 26

def within?(constraint)
  super && limit <= constraint.limit
end