| 
					
				 | 
			
			
				@@ -162,7 +162,7 @@ module Blazer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           render layout: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         format.csv do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          send_data csv_data(@columns, @rows), type: "text/csv; charset=utf-8; header=present", disposition: "attachment; filename=\"#{@query.try(:name).try(:parameterize).presence || 'query'}.csv\"" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          send_data csv_data(@columns, @rows, @data_source), type: "text/csv; charset=utf-8; header=present", disposition: "attachment; filename=\"#{@query.try(:name).try(:parameterize).presence || 'query'}.csv\"" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -240,18 +240,17 @@ module Blazer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       params.require(:query).permit(:name, :description, :statement, :data_source) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def csv_data(columns, rows) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def csv_data(columns, rows, data_source) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       CSV.generate do |csv| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         csv << columns 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rows.each do |row| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          csv << row.each_with_index.map { |v, i| v.is_a?(Time) ? blazer_time_value(columns[i], v) : v } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          csv << row.each_with_index.map { |v, i| v.is_a?(Time) ? blazer_time_value(data_source, columns[i], v) : v } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def blazer_time_value(k, v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      # yuck, instance var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      @data_source.local_time_suffix.any? { |s| k.ends_with?(s) } ? v.to_s.sub(" UTC", "") : v.in_time_zone(Blazer.time_zone) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def blazer_time_value(data_source, k, v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_source.local_time_suffix.any? { |s| k.ends_with?(s) } ? v.to_s.sub(" UTC", "") : v.in_time_zone(Blazer.time_zone) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     helper_method :blazer_time_value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end 
			 |