Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace :emails do
- desc "get all emails from nicknames"
- task take_emails: :environment do
- REGEXP_EMAIL = /\A[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}\z/i
- Nickname.in_batches(of: 15).each do |nicknames|
- nicknames.each do |hash|
- nick_last = Nickname.all.select(:id).order(:id).last[:id]
- output = %x[github-email #{hash[:name]}]
- data = (output.gsub /[\e\n\t]/, " ").split
- selected = data.select { |emails| emails =~ REGEXP_EMAIL }
- selected.uniq.map { |email| Email.create(email: email, nickname_id: hash[:id]) }
- if hash[:id] == nick_last
- break
- end
- end
- nicknames.delete_all
- sleep 900
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement