summaryrefslogtreecommitdiff
path: root/app/models/concerns/chronic_duration_attribute.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/concerns/chronic_duration_attribute.rb')
-rw-r--r--app/models/concerns/chronic_duration_attribute.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/app/models/concerns/chronic_duration_attribute.rb b/app/models/concerns/chronic_duration_attribute.rb
index fa1eafb1d7a..593a9b3d71d 100644
--- a/app/models/concerns/chronic_duration_attribute.rb
+++ b/app/models/concerns/chronic_duration_attribute.rb
@@ -8,14 +8,14 @@ module ChronicDurationAttribute
end
end
- def chronic_duration_attr_writer(virtual_attribute, source_attribute)
+ def chronic_duration_attr_writer(virtual_attribute, source_attribute, parameters = {})
chronic_duration_attr_reader(virtual_attribute, source_attribute)
define_method("#{virtual_attribute}=") do |value|
- chronic_duration_attributes[virtual_attribute] = value.presence || ''
+ chronic_duration_attributes[virtual_attribute] = value.presence || parameters[:default].presence.to_s
begin
- new_value = ChronicDuration.parse(value).to_i if value.present?
+ new_value = value.present? ? ChronicDuration.parse(value).to_i : parameters[:default].presence
assign_attributes(source_attribute => new_value)
rescue ChronicDuration::DurationParseError
# ignore error as it will be caught by validation