module LetterOpenerWebS3::LetterExtension
Public Class Methods
destroy_all()
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 21 def destroy_all LetterOpenerWebS3.bucket.objects(prefix: letters_location).each(&:delete) end
search()
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 10 def search letters = LetterOpenerWebS3.bucket.client.list_objects(bucket: LetterOpenerWebS3.bucket.name, delimiter: '/', prefix: letters_location) .common_prefixes.map(&:prefix).map do |folder| name = folder.gsub(letters_location, '')[0..-2] new id: name, sent_at: Time.at(name.gsub(/\_.+/, '').to_i) end letters.sort_by(&:sent_at).reverse end
Public Instance Methods
attachments()
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 26 def attachments @attachments ||= LetterOpenerWebS3.bucket.objects(prefix: File.join(base_dir, 'attachments')) .each_with_object({}) do |file, hash| hash[File.basename(file.key)] = LetterOpenerWebS3.bucket.object(file.key).public_url end end
base_dir()
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 43 def base_dir "#{letters_location}#{id}" end
delete()
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 33 def delete LetterOpenerWebS3.bucket.objects(prefix: base_dir).each(&:delete) end
exists?()
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 37 def exists? LetterOpenerWebS3.bucket.objects(prefix: base_dir).count > 0 end
read_file(style)
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 47 def read_file(style) Kernel.open(LetterOpenerWebS3.bucket .object(File.join(base_dir, "#{style}.html")).presigned_url(:get)).read rescue '' end
style_exists?(style)
click to toggle source
# File lib/letter_opener_web_s3/letter_extension.rb, line 54 def style_exists?(style) LetterOpenerWebS3.bucket.object(File.join(base_dir, "#{style}.html")).exists? end