From 19aa3a1ca42f0b64e6208f042e3ebde822351147 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 1 Feb 2017 22:06:21 +1300 Subject: [PATCH] PlantingsHelper simplification --- app/helpers/plantings_helper.rb | 14 +++++++------- app/models/planting.rb | 11 +++++++++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/app/helpers/plantings_helper.rb b/app/helpers/plantings_helper.rb index 15f756ace..4623b3abf 100644 --- a/app/helpers/plantings_helper.rb +++ b/app/helpers/plantings_helper.rb @@ -1,13 +1,13 @@ module PlantingsHelper def display_days_before_maturity(planting) - if planting.finished? - "0" - elsif !planting.finished_at.nil? - ((p = planting.finished_at - Date.current).to_i) <= 0 ? "0" : p.to_i.to_s - elsif planting.planted_at.nil? || planting.days_before_maturity.nil? - "unknown" + # First try to calc from finished/finished_at + if planting.finished? || planting.finished_at.present? + planting.days_until_finished.to_s + # then try to calc from planted at + maturity + elsif planting.planted_at.present? && planting.days_before_maturity.present? + planting.days_until_mature.to_s else - ((p = (planting.planted_at + planting.days_before_maturity) - Date.current).to_i <= 0) ? "0" : p.to_i.to_s + "unknown" end end diff --git a/app/models/planting.rb b/app/models/planting.rb index 7f731b41e..112f53ba3 100644 --- a/app/models/planting.rb +++ b/app/models/planting.rb @@ -112,6 +112,17 @@ class Planting < ActiveRecord::Base planted_at.present? && current_date.to_date >= planted_at end + def days_until_finished + return 0 if finished? + days = (finished_at - Date.current).to_i + days.positive? ? days : 0 + end + + def days_until_mature + days = ((planted_at + days_before_maturity) - Date.current).to_i + days.positive? ? days : 0 + end + def percentage_grown(current_date = Date.current) return nil unless days_before_maturity && planted?(current_date)