Skip to content

Commit

Permalink
Removed callback specific stuff. Going to patch that into MM. Rails 2…
Browse files Browse the repository at this point in the history
…/3 divide is a pain.
  • Loading branch information
jnunemaker committed Mar 1, 2010
1 parent 8a5d842 commit 2cdf89c
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 127 deletions.
2 changes: 1 addition & 1 deletion lib/validatable.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require 'forwardable'
require 'active_support'
require 'active_support/all'

require 'validatable/object_extension'
require 'validatable/errors'
Expand Down
10 changes: 0 additions & 10 deletions lib/validatable/validatable_instance_methods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@ module Validatable
def self.included(klass) #:nodoc:
klass.extend Validatable::ClassMethods
klass.extend Validatable::Macros
klass.class_eval do
include ActiveSupport::Callbacks
define_callbacks :validate, :validate_on_create, :validate_on_update
end
end

# call-seq: valid?
Expand All @@ -25,12 +21,6 @@ def errors
def valid_for_group?(group) #:nodoc:
run_before_validations
errors.clear
run_callbacks(:validate)

if respond_to?(:new?)
new? ? run_callbacks(:validate_on_create) : run_callbacks(:validate_on_update)
end

self.class.validate_children(self, group)
self.validate_group(group)
errors.empty?
Expand Down
116 changes: 0 additions & 116 deletions test/functional/test_validatable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -516,120 +516,4 @@ class Klass
instance.validate_only("presence_of/name")
instance.errors.on(:address)
end

test 'validate callback' do
klass = Class.new do
include Validatable
attr_accessor :action
validate :action_presence

private
def action_presence
errors.add(:action, 'is invalid') if action.blank?
end
end
instance = klass.new
instance.valid?
assert_equal 'is invalid', instance.errors.on(:action)

instance.action = 'walk'
instance.valid?
assert_nil instance.errors.on(:action)
end

test 'validate on create callback for new record' do
klass = Class.new do
include Validatable
attr_accessor :action
validate_on_create :action_presence

def new?
true
end

private
def action_presence
errors.add(:action, 'is invalid') if action.blank?
end
end
instance = klass.new
instance.valid?
assert_equal 'is invalid', instance.errors.on(:action)

instance.action = 'walk'
instance.valid?
assert_nil instance.errors.on(:action)
end

test 'validate on create callback for not new record' do
klass = Class.new do
include Validatable
attr_accessor :action
validate_on_create :action_presence

def new?
false
end

private
def action_presence
errors.add(:action, 'is invalid') if action.blank?
end
end
instance = klass.new
instance.valid?
assert_nil instance.errors.on(:action)

instance.action = 'walk'
instance.valid?
assert_nil instance.errors.on(:action)
end

test 'validate on update callback for new record' do
klass = Class.new do
include Validatable
attr_accessor :action
validate_on_update :action_presence

def new?
true
end

private
def action_presence
errors.add(:action, 'is invalid') if action.blank?
end
end
instance = klass.new
instance.valid?
assert_nil instance.errors.on(:action)

instance.action = 'walk'
instance.valid?
assert_nil instance.errors.on(:action)
end

test 'validate on update callback for not new record' do
klass = Class.new do
include Validatable
attr_accessor :action
validate_on_update :action_presence

def new?
false
end

private
def action_presence
errors.add(:action, 'is invalid') if action.blank?
end
end
instance = klass.new
instance.valid?
assert_equal 'is invalid', instance.errors.on(:action)

instance.action = 'walk'
instance.valid?
assert_nil instance.errors.on(:action)
end
end

0 comments on commit 2cdf89c

Please sign in to comment.