class MidasTouch::Input

Attributes

filters[RW]
name[RW]
validations[RW]
value[RW]

Public Class Methods

new(name) click to toggle source
# File lib/midas-touch/input.rb, line 11
def initialize(name)
  self.name        = name.to_sym
  self.filters     = Array.new
  self.validations = Array.new
  @invalidate = false
end

Public Instance Methods

filter!() click to toggle source
# File lib/midas-touch/input.rb, line 18
def filter!
  filters.each do |filter|
    self.value = filter.call(self.value)
  end
  self.value
end
invalidate!() click to toggle source
# File lib/midas-touch/input.rb, line 33
def invalidate!
  @invalidate = true
end
valid?() click to toggle source
# File lib/midas-touch/input.rb, line 25
def valid?
  return false if @invalidate
  validations.each do |rule|
    return false if !rule.call(self.value)
  end
  true
end