25 lines
718 B
Ruby
25 lines
718 B
Ruby
|
class AddPicToInboxMigration < ActiveRecord::Migration[5.0]
|
||
|
def change
|
||
|
FacebookPage.find_each do |inbox|
|
||
|
begin
|
||
|
url = "http://graph.facebook.com/"<< inbox.page_id << "/picture?type=large"
|
||
|
uri = URI.parse(url)
|
||
|
tries = 3
|
||
|
begin
|
||
|
response = uri.open(redirect: false)
|
||
|
rescue OpenURI::HTTPRedirect => redirect
|
||
|
uri = redirect.uri # assigned from the "Location" response header
|
||
|
retry if (tries -= 1) > 0
|
||
|
raise
|
||
|
end
|
||
|
pic_url = response.base_uri.to_s
|
||
|
puts pic_url.inspect
|
||
|
rescue => e
|
||
|
pic_url = nil
|
||
|
end
|
||
|
inbox.remote_avatar_url = pic_url
|
||
|
inbox.save!
|
||
|
end
|
||
|
end
|
||
|
end
|