mirror of
https://github.com/ditkrg/validates_timeliness.git
synced 2026-01-22 22:06:45 +00:00
fix generated_methods bug where read instead of write method stored
existing spec failed unless run alone as attribute methods already primed. fixed spec to undef method and empty generated_methods set
This commit is contained in:
parent
694c3b0ce3
commit
59d9957ab6
@ -51,10 +51,11 @@ module ValidatesTimeliness
|
||||
if [:date, :time, :datetime].include?(column.type)
|
||||
time_zone_aware = create_time_zone_conversion_attribute?(name, column) rescue false
|
||||
|
||||
define_method("#{name}=") do |value|
|
||||
method_name = "#{name}="
|
||||
define_method(method_name) do |value|
|
||||
write_date_time_attribute(name, value, column.type, time_zone_aware)
|
||||
end
|
||||
timeliness_methods << name
|
||||
timeliness_methods << method_name
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -5,7 +5,9 @@ describe ValidatesTimeliness::ActiveRecord::AttributeMethods do
|
||||
@person = Person.new
|
||||
end
|
||||
|
||||
it "should call write_date_time_attribute when date attribute assigned value" do
|
||||
it "should define and call write method on first assign" do
|
||||
Person.class_eval { @generated_methods = Set.new }
|
||||
Person.send(:undef_method, :birth_date=)
|
||||
@person.should_receive(:write_date_time_attribute)
|
||||
@person.birth_date = "2000-01-01"
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user