Sha256: 6f6e6e7f89aef3dfa28aea8052953c663cd3b34ba165fe896d8ed52449983bb9
Contents?: true
Size: 1.22 KB
Versions: 5
Compression:
Stored size: 1.22 KB
Contents
class Reporter::TimeOptimizedResultRow < Reporter::ResultRow def initialize(data_set, scope_serialization, scope, period) super data_set, scope_serialization @scope = scope @period = period @active_scope = nil end attr_accessor :current_iteration def scope= scope @scope_serialization = scope end def [] field field_cache[field] ||= {} preload_time_period_values_for field unless field_cache[field].has_key? current_iteration[:type] field_cache[field][current_iteration[:type]] ||= {} field_cache[field][current_iteration[:type]][current_iteration[:period]] ||= load_field_values(field)[field] end private attr_reader :data_set, :scope_serialization, :period def preload_time_period_values_for(field_name) #Rails.logger.info "Trying to pre-load data for #{field_name} for the period of #{period} in chunks of #{current_iteration[:filter].to_sentence}" field = data_set.data_structure.fields[field_name] if field.respond_to? :preload_for_period #Rails.logger.info "Preloading possible for #{field_name}!" field_cache[field_name] ||= {} field_cache[field_name][current_iteration[:type]] = \ field.preload_for_period data_set.data_source, {}, period, current_iteration[:filter], @scope end end end
Version data entries
5 entries across 5 versions & 1 rubygems