123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # frozen_string_literal: true
- require 'csv'
- class Export
- attr_reader :account
- def initialize(account)
- @account = account
- end
- def to_blocked_accounts_csv
- to_csv account.blocking
- end
- def to_muted_accounts_csv
- to_csv account.muting
- end
- def to_following_accounts_csv
- to_csv account.following
- end
- def total_storage
- account.media_attachments.sum(:file_file_size)
- end
- def total_follows
- account.following.count
- end
- def total_blocks
- account.blocking.count
- end
- def total_mutes
- account.muting.count
- end
- private
- def to_csv(accounts)
- CSV.generate do |csv|
- accounts.each do |account|
- csv << [(account.local? ? account.local_username_and_domain : account.acct)]
- end
- end
- end
- end
|