25 lines
428 B
Ruby
25 lines
428 B
Ruby
require 'zip'
|
|
class NewsletterZip
|
|
attr_accessor :filename
|
|
|
|
def initialize(filename)
|
|
@filename = filename
|
|
end
|
|
|
|
def emails
|
|
User.newsletter.pluck(:email).join("\n")
|
|
end
|
|
|
|
def path
|
|
Rails.root + "/tmp/#{filename}.zip"
|
|
end
|
|
|
|
def create
|
|
Zip::File.open(path, Zip::File::CREATE) do |zipfile|
|
|
zipfile.get_output_stream("#{filename}.txt") do |file|
|
|
file.write emails
|
|
end
|
|
end
|
|
end
|
|
|
|
end |