diff --git a/app/models/slacker.rb b/app/models/slacker.rb index e1b7bfd..a55cfe2 100644 --- a/app/models/slacker.rb +++ b/app/models/slacker.rb @@ -14,7 +14,6 @@ def self.all slack_user_data.map { |data| self.new(data) } end - def self.find_by_email(email) all.select { |m| m.email == email }.first end diff --git a/lib/tasks/users.rake b/lib/tasks/users.rake new file mode 100644 index 0000000..fe158ab --- /dev/null +++ b/lib/tasks/users.rake @@ -0,0 +1,11 @@ +desc "Update Slack avatars" +task :update_slack_avatars => [:dependent, :tasks] do + users_with_broken_avatars = User.all.reject do |user| + Faraday.get(user.image).status == 200 + end + + users_with_broken_avatars.each do |user| + user.image = Slacker.find_by_id(user.slack_id).image + user.save + end +end