From 18ae62708ca73eed9281413b58f53daf48f34c28 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Thu, 27 Aug 2015 23:58:54 +0200 Subject: [PATCH] adds date helper --- lib/active_model/dates.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 lib/active_model/dates.rb diff --git a/lib/active_model/dates.rb b/lib/active_model/dates.rb new file mode 100644 index 000000000..a519e3840 --- /dev/null +++ b/lib/active_model/dates.rb @@ -0,0 +1,25 @@ +module ActiveModel::Dates + + def parse_date(field, attrs) + day, month, year = attrs["#{field}(1i)"], + attrs["#{field}(2i)"], + attrs["#{field}(3i)"] + + return nil unless day.present? && month.present? && year.present? + Date.new(day.to_i, month.to_i, year.to_i) + end + + def remove_date(field, attrs) + attrs.except("#{field}(1i)", "#{field}(2i)", "#{field}(3i)") + end + + def date_to_string(date) + date.strftime("%d-%m-%Y") + end + + def string_to_date(value) + day, month, year = value.split("-") + Date.new(year.to_i, month.to_i, day.to_i) + end + +end \ No newline at end of file