def validates_presence_of(*attribute_names)
      options = Macros.extract_options(attribute_names)
      validation_rules.add(Rule::Presence::NotBlank, attribute_names, options)
    end
def validates_presence_of(*attribute_names)
      options = Macros.extract_options(attribute_names)
      validation_rules.add(Rule::Presence::NotBlank, attribute_names, options)
    end
Validates that the specified attribute is present.

 For most property types "being present" is the same as being "not
 blank" as determined by the attribute's #blank? method. However, in
 the case of Boolean, "being present" means not nil; i.e. true or
 false.

 @note
   dm-core's support lib adds the blank? method to many classes,

 @see lib/dm-core/support/blank.rb (dm-core) for more information.

 @example Usage
   require 'virtus'
   require 'aequitas'

   class Page
     include Virtus
     include Aequitas

     attribute :required_attribute, String
     attribute :another_required,   String
     attribute :yet_again,          String

     validates_presence_of :required_attribute
     validates_presence_of :another_required, :yet_again

     # a call to valid? will return false unless
     # all three attributes are not blank (according to Aequitas.blank?)
   end