From 83bf6a512d4f16462f56e31fe4347193c49cc0cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 17 Apr 2015 09:57:00 +0200 Subject: [PATCH 1/5] get_progress: simplify percentage generation --- app/models/target.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/target.rb b/app/models/target.rb index fbdbc2d4..c140dc4d 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -36,7 +36,7 @@ class Target < ActiveRecord::Base elsif unit == Target.units[:program_minutes] numerator = conference.current_program_minutes end - (numerator / target_count.to_f * 100).round(0).to_s + (100 * numerator / target_count).to_s end ## From db59fa096cb5882d1250b9f70c28d8dd8db12a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 17 Apr 2015 10:09:43 +0200 Subject: [PATCH 2/5] get_progress: Turn if condition into switch --- app/models/target.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/target.rb b/app/models/target.rb index c140dc4d..1c2ff530 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -29,11 +29,12 @@ class Target < ActiveRecord::Base # * +String+ -> progress in percent def get_progress numerator = 0 - if unit == Target.units[:submissions] + case unit + when Target.units[:submissions] numerator = conference.events.where('created_at < ?', due_date).count - elsif unit == Target.units[:registrations] + when Target.units[:registrations] numerator = conference.registrations.where('created_at < ?', due_date).count - elsif unit == Target.units[:program_minutes] + when Target.units[:program_minutes] numerator = conference.current_program_minutes end (100 * numerator / target_count).to_s From eea7d94223fbf9bd3036fd4dd37658237ae5ce69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 17 Apr 2015 10:12:31 +0200 Subject: [PATCH 3/5] get_progress: Move default value into else branch --- app/models/target.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/target.rb b/app/models/target.rb index 1c2ff530..e4e07591 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -28,7 +28,6 @@ class Target < ActiveRecord::Base # ====Returns # * +String+ -> progress in percent def get_progress - numerator = 0 case unit when Target.units[:submissions] numerator = conference.events.where('created_at < ?', due_date).count @@ -36,6 +35,8 @@ class Target < ActiveRecord::Base numerator = conference.registrations.where('created_at < ?', due_date).count when Target.units[:program_minutes] numerator = conference.current_program_minutes + else + numerator = 0 end (100 * numerator / target_count).to_s end From e9ba87a49c00b373db4bc5631b3808c5f7e3f1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 17 Apr 2015 10:15:38 +0200 Subject: [PATCH 4/5] get_progress: cleanup case statement --- app/models/target.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/models/target.rb b/app/models/target.rb index e4e07591..341e75fe 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -28,16 +28,17 @@ class Target < ActiveRecord::Base # ====Returns # * +String+ -> progress in percent def get_progress - case unit + numerator = case unit when Target.units[:submissions] - numerator = conference.events.where('created_at < ?', due_date).count + conference.events.where('created_at < ?', due_date).count when Target.units[:registrations] - numerator = conference.registrations.where('created_at < ?', due_date).count + conference.registrations.where('created_at < ?', due_date).count when Target.units[:program_minutes] - numerator = conference.current_program_minutes + conference.current_program_minutes else - numerator = 0 + 0 end + (100 * numerator / target_count).to_s end From 28669ac6356f2891558d9764bcbe218132bea625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 17 Apr 2015 14:19:32 +0200 Subject: [PATCH 5/5] get_progress: align case and when as rubocop --- app/models/target.rb | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/app/models/target.rb b/app/models/target.rb index 341e75fe..19ee677e 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -28,16 +28,17 @@ class Target < ActiveRecord::Base # ====Returns # * +String+ -> progress in percent def get_progress - numerator = case unit - when Target.units[:submissions] - conference.events.where('created_at < ?', due_date).count - when Target.units[:registrations] - conference.registrations.where('created_at < ?', due_date).count - when Target.units[:program_minutes] - conference.current_program_minutes - else - 0 - end + numerator = + case unit + when Target.units[:submissions] + conference.events.where('created_at < ?', due_date).count + when Target.units[:registrations] + conference.registrations.where('created_at < ?', due_date).count + when Target.units[:program_minutes] + conference.current_program_minutes + else + 0 + end (100 * numerator / target_count).to_s end