Module: RailsAdminCharts::ClassMethods
- Defined in:
- lib/rails_admin_charts.rb
Instance Method Summary collapse
- #delta_records_since(since = 30.days.ago) ⇒ Object
- #graph_data(since = 30.days.ago) ⇒ Object
- #total_records_since(since = 30.days.ago) ⇒ Object
Instance Method Details
#delta_records_since(since = 30.days.ago) ⇒ Object
15 16 17 18 |
# File 'lib/rails_admin_charts.rb', line 15 def delta_records_since(since = 30.days.ago) deltas = self.group('DATE(created_at)').count (since.to_date..Date.today).map { |date| deltas[date] || 0 } end |
#graph_data(since = 30.days.ago) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rails_admin_charts.rb', line 20 def graph_data since=30.days.ago [ { name: model_name.pluralize, pointInterval: 1.day * 1000, pointStart: since.to_i * 1000, data: self.total_records_since(since) } ] end |
#total_records_since(since = 30.days.ago) ⇒ Object
10 11 12 13 |
# File 'lib/rails_admin_charts.rb', line 10 def total_records_since(since = 30.days.ago) totals, before_count = self.group('DATE(created_at)').count, self.where('created_at < ?', since.to_date).count (since.to_date..Date.today).each_with_object([]) { |day, a| a << (a.last || before_count) + (totals[day] || 0) } end |