Class: SplitDmy::DateValidator
- Inherits:
-
Object
- Object
- SplitDmy::DateValidator
- Defined in:
- lib/split_dmy/date_validator.rb
Instance Method Summary collapse
- #any_errors? ⇒ Boolean
- #build_date ⇒ Object
-
#initialize(object, attribute) ⇒ DateValidator
constructor
A new instance of DateValidator.
- #parse_month(val) ⇒ Object
- #partial_updated ⇒ Object
Constructor Details
#initialize(object, attribute) ⇒ DateValidator
Returns a new instance of DateValidator.
3 4 5 6 7 8 9 |
# File 'lib/split_dmy/date_validator.rb', line 3 def initialize(object, attribute) @split_day = object.instance_variable_get("@#{attribute}_day") @split_month = object.instance_variable_get("@#{attribute}_month") @split_year = object.instance_variable_get("@#{attribute}_year").to_i @object = object @attr = attribute end |
Instance Method Details
#any_errors? ⇒ Boolean
37 38 39 |
# File 'lib/split_dmy/date_validator.rb', line 37 def any_errors? !partials_valid? || partials_valid_date_fails? end |
#build_date ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/split_dmy/date_validator.rb', line 26 def build_date date = Date.new( @split_year.to_i, parse_month(@split_month), @split_day.to_i ) date if partials_match_date(date) rescue false end |
#parse_month(val) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/split_dmy/date_validator.rb', line 16 def parse_month(val) if valid_fixnum?(val, 12) || valid_numeric_string?(val, 12) result = val.to_i else mon_name = valid_month_name?(val) result = mon_name.present? ? mon_name : val end result.to_i end |
#partial_updated ⇒ Object
11 12 13 14 |
# File 'lib/split_dmy/date_validator.rb', line 11 def partial_updated new_date = build_date partials_valid? && new_date ? new_date : nil end |