diff --git a/app/models/ahoy/chart.rb b/app/models/ahoy/chart.rb index d2077390d24..51a894f654c 100644 --- a/app/models/ahoy/chart.rb +++ b/app/models/ahoy/chart.rb @@ -26,19 +26,17 @@ def self.event_names_with_collections end def self.active_events_data_points - ds = Ahoy::DataSource.new - - active_event_names.map { |event_name| new(event_name) }.each do |chart| - ds.add chart.title, chart.data + Ahoy::DataSource.build do |data_source| + active_event_names.map { |event_name| new(event_name) }.each do |chart| + data_source.add chart.title, chart.data + end end - - ds.build end def data_points - ds = Ahoy::DataSource.new - ds.add title, data - ds.build + Ahoy::DataSource.build do |data_source| + data_source.add title, data + end end def title diff --git a/app/models/ahoy/data_source.rb b/app/models/ahoy/data_source.rb index a29902593f4..f67bc288860 100644 --- a/app/models/ahoy/data_source.rb +++ b/app/models/ahoy/data_source.rb @@ -4,6 +4,10 @@ module Ahoy class DataSource + def self.build(&block) + new.tap { |data_source| block.call(data_source) }.build + end + # Adds a collection with the datasource # Name is the name of the collection and will be showed in the # chart