module Pinpoint::Validations
Public Class Methods
define(object, options)
click to toggle source
# File lib/pinpoint/validations.rb, line 6 def self.define(object, options) name = options.fetch(:field_name) prefix = options.fetch(:prefix, name).blank? ? '' : "#{options[:prefix]}_" object.instance_eval <<-VALIDATIONIZATION validates :#{prefix}name, :length => { :maximum => 140 } validates :#{prefix}street_and_premises, :presence => { :if => :#{name}_incomplete? }, :length => { :maximum => 255 } validates :#{prefix}city, :presence => { :if => :#{name}_incomplete? }, :length => { :maximum => 60 } validates :#{prefix}state, :presence => { :if => :#{name}_incomplete? }, :inclusion => { :in => Pinpoint::US_STATES, :allow_blank => true } validates :#{prefix}postal_code, :presence => { :if => :#{name}_incomplete? }, :format => { :with => Pinpoint::FORMATS[:zip_code], :allow_blank => true } VALIDATIONIZATION end