mirror of
https://github.com/ditkrg/validates_timeliness.git
synced 2026-01-23 06:16:44 +00:00
Fix DateTimeSelect extension for Rails 3.1.0
This commit is contained in:
parent
e7b503ae4f
commit
473da0fa5e
@ -16,16 +16,10 @@ module ValidatesTimeliness
|
||||
module InstanceMethods
|
||||
|
||||
class TimelinessDateTime
|
||||
|
||||
attr_accessor :year, :month, :day, :hour, :min, :sec
|
||||
|
||||
def initialize(year, month, day, hour, min, sec)
|
||||
@year = year
|
||||
@month = month
|
||||
@day = day
|
||||
@hour = hour
|
||||
@min = min
|
||||
@sec = sec
|
||||
@year, @month, @day, @hour, @min, @sec = year, month, day, hour, min, sec
|
||||
end
|
||||
|
||||
# adapted from activesupport/lib/active_support/core_ext/date_time/calculations.rb, line 36 (3.0.7)
|
||||
@ -46,13 +40,15 @@ module ValidatesTimeliness
|
||||
datetime_selector_without_timeliness(*args)
|
||||
end
|
||||
|
||||
def value(object)
|
||||
def value_with_timeliness(object)
|
||||
unless @timeliness_date_or_time_tag && @template_object.params[@object_name]
|
||||
return super
|
||||
return value_without_timeliness(object)
|
||||
end
|
||||
|
||||
@template_object.params[@object_name]
|
||||
|
||||
pairs = @template_object.params[@object_name].select {|k,v| k =~ /^#{@method_name}\(/ }
|
||||
return super if pairs.empty?
|
||||
return value_without_timeliness(object) if pairs.empty?
|
||||
|
||||
values = [nil] * 6
|
||||
pairs.map do |(param, value)|
|
||||
|
||||
@ -31,7 +31,7 @@ module TestModel
|
||||
end
|
||||
|
||||
def initialize(attributes = nil)
|
||||
@attributes = self.class.model_attributes.inject({}) do |hash, column|
|
||||
@attributes = self.class.model_attributes.keys.inject({}) do |hash, column|
|
||||
hash[column.to_s] = nil
|
||||
hash
|
||||
end
|
||||
@ -39,7 +39,7 @@ module TestModel
|
||||
end
|
||||
|
||||
def attributes
|
||||
@attributes.keys
|
||||
@attributes
|
||||
end
|
||||
|
||||
def attributes=(new_attributes={})
|
||||
@ -49,14 +49,12 @@ module TestModel
|
||||
end
|
||||
|
||||
def method_missing(method_id, *args, &block)
|
||||
if !self.class.attribute_methods_generated?
|
||||
self.class.define_attribute_methods self.class.model_attributes.keys.map(&:to_s)
|
||||
method_name = method_id.to_s
|
||||
if match_attribute_method?(method_id.to_s)
|
||||
self.class.define_attribute_methods self.class.model_attributes.keys
|
||||
send(method_id, *args, &block)
|
||||
else
|
||||
super
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user