Skip to content

Commit 9801af5

Browse files
committed
Message#from_s3 takes List instance
1 parent 2ddef08 commit 9801af5

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

app/models/message.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ def from_mail(mail, list, list_seq)
9191
end
9292

9393
class << self
94-
def from_s3(list_name, list_seq, s3_client = Aws::S3::Client.new(region: BLADE_BUCKET_REGION))
95-
obj = s3_client.get_object(bucket: BLADE_BUCKET_NAME, key: "#{list_name}/#{list_seq}")
94+
def from_s3(list, list_seq, s3_client = Aws::S3::Client.new(region: BLADE_BUCKET_REGION))
95+
obj = s3_client.get_object(bucket: BLADE_BUCKET_NAME, key: "#{list.name}/#{list_seq}")
9696

9797
m = self.from_string(obj.body.read)
98-
m.list_id = List.find_by_name(list_name).id
98+
m.list_id = list.id
9999
m.list_seq = list_seq
100100
m
101101
end
@@ -140,7 +140,7 @@ def count_recursively(count = 0)
140140
end
141141

142142
def reload_from_s3(s3_client = Aws::S3::Client.new(region: BLADE_BUCKET_REGION))
143-
m = Message.from_s3(List.find(self.list_id).name, self.list_seq, s3_client)
143+
m = Message.from_s3(List.find(self.list_id), self.list_seq, s3_client)
144144

145145
self.body = m.body
146146
self.subject = m.subject

import.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@
77
opts.on('--to TO', Integer)
88
end.parse!(into: params)
99

10-
list = params[:list]
10+
list = List.find_by_name(params[:list])
1111

1212
Message.transaction do
1313
(params[:from]..params[:to]).each do |seq|
1414
begin
1515
message = Message.from_s3(list, seq)
1616
message.save!
1717
rescue ActiveRecord::RecordNotUnique
18-
STDERR.puts("#{list}:#{seq} already exists in Postgres")
18+
STDERR.puts("#{list.name}:#{seq} already exists in Postgres")
1919
rescue Aws::S3::Errors::NoSuchKey
20-
STDERR.puts("#{list}:#{seq} doesn't exist in S3")
20+
STDERR.puts("#{list.name}:#{seq} doesn't exist in S3")
2121
rescue StandardError => e
22-
STDERR.puts("failed to import #{list}:#{seq}: #{e}")
22+
STDERR.puts("failed to import #{list.name}:#{seq}: #{e}")
2323
end
2424
end
2525
end

test/models/message_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class MessageTest < ActiveSupport::TestCase
3838
3939
Hello, world!
4040
END_OF_BODY
41-
Message.from_s3('ruby-list', 1234, s3_client)
41+
Message.from_s3(List.find_by_name('ruby-list'), 1234, s3_client)
4242
end
4343

4444
test 'reload_from_s3' do

0 commit comments

Comments
 (0)