def self.included(base)
base.extlib_inheritable_accessor(:auto_validation)
base.class_eval "# Turn off auto validation by default\nself.auto_validation ||= false\n\n# Force the auto validation for the class properties\n# This feature is still not fully ported over,\n# test are lacking, so please use with caution\ndef self.auto_validate!\nself.auto_validation = true\nend\n\n# share the validations with subclasses\ndef self.inherited(subklass)\nself.validators.contexts.each do |k, v|\nsubklass.validators.contexts[k] = v.dup\nend\nsuper\nend\n", __FILE__, __LINE__
base.extend(ClassMethods)
base.class_eval "if method_defined?(:_run_save_callbacks)\nsave_callback :before, :check_validations\nend\n", __FILE__, __LINE__
base.class_eval "def self.define_property(name, options={})\nsuper\nauto_generate_validations(properties.last) if properties && properties.size > 0\nautovalidation_check = true\nend\n", __FILE__, __LINE__ + 1
end