about summary refs log tree commit diff
path: root/app/models/export.rb
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-04-11 16:00:43 -0400
committerEugen <eugen@zeonfederated.com>2017-04-11 22:00:43 +0200
commit3ddd936b039474259cff3793c767ecb7f74e89e0 (patch)
treedef84f4d35f11defaeb779049fec3f45998d9135 /app/models/export.rb
parent1921c5416b08d8374ee7aee6c072eed9b67c58c8 (diff)
Refactor exports controller (#1567)
* Add basic coverage for settings/exports controller

* Remove unused @account variable from settings/exports controller

* Add coverage for download export actions

* Remove deprecated `render :text` in favor of `send_data` for csv downloads

* Add model to handle exports

* Use Export class in settings/exports controller

* Simplify settings/exports controller methods

* Move settings/export to more restful routes
Diffstat (limited to 'app/models/export.rb')
-rw-r--r--app/models/export.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/export.rb b/app/models/export.rb
new file mode 100644
index 000000000..cd1a58eb6
--- /dev/null
+++ b/app/models/export.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+require 'csv'
+
+class Export
+  attr_reader :accounts
+
+  def initialize(accounts)
+    @accounts = accounts
+  end
+
+  def to_csv
+    CSV.generate do |csv|
+      accounts.each do |account|
+        csv << [(account.local? ? account.local_username_and_domain : account.acct)]
+      end
+    end
+  end
+end