diff --git a/app/models/soa.rb b/app/models/soa.rb index c5b3e35d..b59b989f 100644 --- a/app/models/soa.rb +++ b/app/models/soa.rb @@ -64,7 +64,7 @@ def update_serial date_serial = Time.now.strftime( "%Y%m%d00" ).to_i - self.serial = if date_serial > self.serial + self.serial = if self.serial.nil? || date_serial > self.serial date_serial else self.serial + 1 diff --git a/spec/models/record_spec.rb b/spec/models/record_spec.rb index 6ade357d..3a99d216 100644 --- a/spec/models/record_spec.rb +++ b/spec/models/record_spec.rb @@ -88,7 +88,7 @@ # Our serial should have move just one position, not three @soa.reload @soa.serial.should_not be( serial ) - @soa.serial.to_s.should eql( Time.now.strftime( "%Y%m%d" ) + '01' ) + @soa.serial.to_s.should eql( Time.now.strftime( "%Y%m%d" ) + '00' ) end end diff --git a/spec/models/soa_spec.rb b/spec/models/soa_spec.rb index 32027dac..0e6968c3 100644 --- a/spec/models/soa_spec.rb +++ b/spec/models/soa_spec.rb @@ -184,13 +184,11 @@ date_segment = Time.now.strftime( "%Y%m%d" ) @soa.update_serial! - @soa.serial.to_s.should eql( date_segment + '01' ) - - @soa.update_serial! - @soa.serial.to_s.should eql( date_segment + '02' ) - - @soa.update_serial! - @soa.serial.to_s.should eql( date_segment + '03' ) + @soa.serial.to_s.should eql( date_segment + '00' ) + + 10.times { @soa.update_serial! } + + @soa.serial.to_s.should eql( date_segment + '10' ) end end