Module: HasValidatedAttributes

Extended by:
ActiveSupport::Concern
Defined in:
lib/has_validated_attributes.rb,
lib/has_validated_attributes/version.rb

Defined Under Namespace

Classes: SafeTextValidator

Constant Summary collapse

NO_CONTROL_CHARS_REGEX =
/\A[^[:cntrl:]]*\z/
NO_CONTROL_CHARS_ERROR_MSG =
"avoid non-printing characters"
VERSION =
"1.0.1"

Class Method Summary collapse

Class Method Details

.validations(*args) ⇒ Object

instance methods



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/has_validated_attributes.rb', line 10

def self.validations(*args)
  args.first.each do |name, format|
    HasValidatedAttributes.define_singleton_method "#{name}_format" do |field_name = nil, options = {}|
      validation = {}
      validation.merge!(:if => "#{field_name}?".to_sym) if format.delete(:has_if?)
      ### length options ###
      opts = options.select{|k, v| k.match(/length/)}
      opts.each{|k,v| validation.merge!(:length => {k.to_s.split("_").first.to_sym => v});options.delete(k)} if opts.present?
      ### extra options ###
      validation.merge!(options) if options.present?

      format.merge(validation)
    end
  end
end