Class: SupplejackApi::UserActivity
- Inherits:
-
Object
- Object
- SupplejackApi::UserActivity
- Includes:
- Mongoid::Document, Mongoid::Timestamps
- Defined in:
- app/models/supplejack_api/user_activity.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.build_from_user(daily_activity) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/models/supplejack_api/user_activity.rb', line 26 def self.build_from_user(daily_activity) user_activity = new daily_activity ||= {} %w(user_sets search records custom_searches).each do |group| group_activity = daily_activity[group] if group_activity user_activity[group] = group_activity user_activity.calculate_total_for(group) end end user_activity.calculate_total user_activity end |
Instance Method Details
#calculate_total ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'app/models/supplejack_api/user_activity.rb', line 56 def calculate_total count = 0 %w(user_sets search records custom_searches).each do |group| values = send(group) count += values['total'].to_i if values && values.is_a?(Hash) end self.total = count end |
#calculate_total_for(field) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/models/supplejack_api/user_activity.rb', line 43 def calculate_total_for(field) total = 0 if activities = self[field] activities.each { |_action, count| total += count.to_i } else activities = {} end activities['total'] = total self[field] = activities end |