module PUNK::Plugins::Validation::InstanceMethods

Public Instance Methods

validates_email(atts, opts = {}) click to toggle source
# File lib/punk/framework/plugins/validation.rb, line 17
def validates_email(atts, opts = {})
  default = {message: "is not an email address"}
  validatable_attributes(atts, default.merge(opts)) do |_name, value, message|
    message unless URI::MailTo::EMAIL_REGEXP.match(value)
  end
end
validates_event(name, event) click to toggle source
# File lib/punk/framework/plugins/validation.rb, line 35
def validates_event(name, event)
  errors.add(name, "may not #{event}") unless self[name].send("may_#{event}?")
end
validates_phone(atts, opts = {}) click to toggle source
# File lib/punk/framework/plugins/validation.rb, line 24
def validates_phone(atts, opts = {})
  default = {message: "is not a phone number"}
  validatable_attributes(atts, default.merge(opts)) do |_name, value, message|
    message unless Phony.plausible?(value)
  end
end
validates_state(name, state) click to toggle source
# File lib/punk/framework/plugins/validation.rb, line 31
def validates_state(name, state)
  errors.add(name, "is not in #{state} state") unless self[name].send("#{state}?")
end
validates_url(atts, opts = {}) click to toggle source
# File lib/punk/framework/plugins/validation.rb, line 10
def validates_url(atts, opts = {})
  default = {message: "is not a URL"}
  validatable_attributes(atts, default.merge(opts)) do |_name, value, message|
    message unless URI::DEFAULT_PARSER.make_regexp.match(value).to_a.compact.length > 2
  end
end