Sha256: ce9adabeb54e7d29b2ca46d1087a35831ae41a4b7ce73b2e65c535f1017eecc3

Contents?: true

Size: 1.59 KB

Versions: 55

Compression:

Stored size: 1.59 KB

Contents

module ThinkFeelDoEngine
  # Used to the average in difference between the actual
  # and predicted values of a collection of activities
  module ActivitiesHelper
    def average_intensity_difference(activities, attribute)
      count = 0
      total_diff = 0
      activities.each do |activity|
        actual_intensity = activity.send("actual_#{attribute}_intensity")
        predicted_intensity = activity.send("predicted_#{attribute}_intensity")
        if actual_intensity && predicted_intensity
          count += 1
          total_diff += (actual_intensity - predicted_intensity).abs
        end
      end
      count == 0 ? "No activities exist." : total_diff.to_f / count
    end

    def percent_complete_message(activities)
      "Completion Score: #{percent_complete(activities)} "\
      "(#{help_text(activities.were_planned)})"
    end

    private

    def help_text(activities)
      if activities.were_planned.count > 0
        "You completed #{activities.reviewed_and_complete.count} out of "\
        "#{scheduled_message(activities.were_planned)} that you scheduled."
      else
        "No activities were scheduled."
      end
    end

    def percent_complete(activities)
      if activities.were_planned.count > 0
        (activities.reviewed_and_complete.count.to_f /
          (activities.were_planned.count).to_f * 100
        ).round(0).to_s + "%"
      else
        "Not Available"
      end
    end

    def scheduled_count(activities)
      activities.were_planned.count
    end

    def scheduled_message(activities)
      pluralize(scheduled_count(activities), "activity")
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
think_feel_do_engine-3.19.9 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.8 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.7 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.6 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.5 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.4 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.3 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.2 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.1 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.19.0 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.18.0 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.17.2 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.17.1 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.17.0 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.16.3 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.16.2 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.16.1 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.15.7 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.16.0 app/helpers/think_feel_do_engine/activities_helper.rb
think_feel_do_engine-3.15.6 app/helpers/think_feel_do_engine/activities_helper.rb