Class: EasyUpnp::ArgumentValidator::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_upnp/control_point/argument_validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Builder

Returns a new instance of Builder.



4
5
6
7
# File 'lib/easy_upnp/control_point/argument_validator.rb', line 4

def initialize(&block)
  @validators = {}
  block.call(self) if block
end

Instance Method Details

#add_validator(validator) ⇒ Object



21
22
23
# File 'lib/easy_upnp/control_point/argument_validator.rb', line 21

def add_validator(validator)
  @validators[validator.class] = validator
end

#allowed_values(*values) ⇒ Object



13
14
15
# File 'lib/easy_upnp/control_point/argument_validator.rb', line 13

def allowed_values(*values)
  add_validator(AllowedValueValidator.new(*values))
end

#buildObject



25
26
27
# File 'lib/easy_upnp/control_point/argument_validator.rb', line 25

def build
  ArgumentValidator.new(@validators)
end

#in_range(min, max, step = 1) ⇒ Object



9
10
11
# File 'lib/easy_upnp/control_point/argument_validator.rb', line 9

def in_range(min, max, step = 1)
  add_validator(RangeValidator.new((min..max).step(step)))
end

#type(type) ⇒ Object



17
18
19
# File 'lib/easy_upnp/control_point/argument_validator.rb', line 17

def type(type)
  add_validator(TypeValidator.new(type))
end