From 0ebe7d6d236d47bf805a920dc722897bafec7459 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 30 May 2017 13:06:01 -0400 Subject: Remove exports/base controller in favor of shared concern (#3444) --- .../concerns/export_controller_concern.rb | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 app/controllers/concerns/export_controller_concern.rb (limited to 'app/controllers/concerns') diff --git a/app/controllers/concerns/export_controller_concern.rb b/app/controllers/concerns/export_controller_concern.rb new file mode 100644 index 000000000..e20b71a30 --- /dev/null +++ b/app/controllers/concerns/export_controller_concern.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module ExportControllerConcern + extend ActiveSupport::Concern + + included do + before_action :authenticate_user! + before_action :load_export + end + + private + + def load_export + @export = Export.new(current_account) + end + + def send_export_file + respond_to do |format| + format.csv { send_data export_data, filename: export_filename } + end + end + + def export_data + raise 'Override in controller' + end + + def export_filename + "#{controller_name}.csv" + end +end -- cgit