lib/valle/hooks.rb in valle-0.0.3 vs lib/valle/hooks.rb in valle-0.1.0
- old
+ new
@@ -18,11 +18,13 @@
def extend_inherited_method
ActiveRecord::Base.class_eval do
class << self
def inherited_with_valle_validators(subclass)
inherited_without_valle_validators(subclass)
- if Valle.can_process_model?(subclass.model_name)
+ if (Valle.can_process_model?(subclass.model_name) &&
+ self == ActiveRecord::Base &&
+ subclass != ActiveRecord::SchemaMigration)
Valle::Hooks.extend_ar_validations_valid_method(subclass)
end
end
alias_method_chain :inherited, :valle_validators
@@ -35,21 +37,10 @@
#
# @param [ActiveRecord::Base] subclass the AR::Base child class
# @note ActiveRecord::Validations should be defined at this point
#
def extend_ar_validations_valid_method(subclass)
- subclass.instance_eval do
- cattr_accessor :valle_validators
- end
-
- subclass.class_eval do
- def valid_with_valle_validators?(context = nil)
- self.class.valle_validators ||= Valle::Manager.add_validators(self.class)
- valid_without_valle_validators?(context)
- end
-
- alias_method_chain :valid?, :valle_validators
- end
+ Valle::Manager.add_validators(subclass)
end
end
end
end