14. 仍仍ミ経狐 从仂仆仂仍
def self.find_for_facebook_oauth(access_token,
signed_in_resource=nil)
data = access_token['extra']['user_hash']
if user = User.find_by_email(data["email"])
user
else # Create a user with a stub password.
user = User.create do |record|
record.email = data['email']
record.password = Devise.friendly_token[0,20]
record.registration_source = 1
record.skip_confirmation!
end
end
end
21. Metaprogramming to
the recsue
if permission.can?
can permission.action.to_sym, subject
else
cannot permission.action.to_sym, subject
end
vs.
method = permission.can? ? :can : :cannot
send method, permission.action.to_sym, subject
22. 弌仗仂仂弍 弍仂弍
仆舒仆亳亠 磶从舒
亳亳亠从亳亶 于亰亞仍磲 仆舒 于仂亶 从仂亟
Let it fail (hoptoad 于 仗仂仄仂)