Skip to content

Instantly share code, notes, and snippets.

@itchy
Created December 4, 2012 17:38
Show Gist options
  • Save itchy/4206681 to your computer and use it in GitHub Desktop.
Save itchy/4206681 to your computer and use it in GitHub Desktop.
Best 2012 (c)
new_ssos = %w(va000123 va000316 va000469 va001190 va001974 va002175 va003344 va003376 va003927 va005733 va006048 va006092 va006186 va007015 va007386 va007526 va008636 va009657 va009667 va010103 va010239 va011367 va011632 va012062 va012345 va012637 va013178 va013235 va013259 va013299 va051200 va005202 va000271 va001092 va002041 va003249 va004225 va005256 va005394 va006165 va007083 va007269 va007415 va007606 va007822 va008375 va008376 va008541 va008573 va008585 va008600 va009097 va009354 va009627 va009983 va010010 va010020 va010026 va010030 va010050 va010056 va010211 va010290 va010392 va010431 va010910 va012015 va012962 va012964 va013319 va014186 va050907 va060769 va080884 va122590 va301922 va339626 va402002 va678910 va689722 va741236 va753780 va812009 va266649 va953068 va955819)
old_ssos = %w(dj000123 dj000316 dj000469 dj001190 dj001975 dj002175 dj003344 dj003376 dj003927 dj005733 dj006048 dj006092 dj006186 dj007015 dj007386 dj007526 dj008636 dj009657 dj009667 dj010103 dj010239 dj011367 dj011632 dj012062 dj012345 dj012637 dj013178 dj013235 dj013259 dj013299 dj051200 dj5202 dj000271 dj001092 dj002041 dj003249 dj004225 dj005256 dj005394 dj006165 dj007083 dj007269 dj007415 dj007606 dj007822 dj008375 dj008376 dj008541 dj008573 dj008585 dj008600 dj009097 dj009354 dj009627 dj009983 dj010010 dj010020 dj010026 dj010030 dj010050 dj010056 dj010211 dj010290 dj010392 dj010431 dj010910 dj012015 dj012962 dj012964 dj013319 dj014186 dj050907 dj060769 dj080884 dj122590 dj301922 dj339626 dj402002 dj678910 dj689722 dj741236 dj753780 dj812009 dj2266649 dj32953068 dj32955819)
changes = old_ssos.zip new_ssos
update_sso = Proc.new do |old, new|
u = User.find_by_sso_id(old)
u.sso_id = new if u
u.save! if u
end
=> #<Proc:0x0c651ccc@(irb):36>
changes.each do | old, new|
update_sso.call(old,new)
end
@itchy
Copy link
Author

itchy commented Dec 4, 2012

Like my other best selections, I like this because it represents a change in my thinking. This is the first time I used enumerable.zip and Proc.new in this manner. I like that I approached this problem using the functional elements in Ruby.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment