Why does single `=` work in `if` statement?
问题 This code is provided as an example in for use with devise and OmniAuth, it works in my project. class User < ActiveRecord::Base def self.new_with_session(params, session) super.tap do |user| if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"] user.email = data["email"] if user.email.blank? end end end end I don't know why it's a single equals sign as apposed to a double equals sign, which I thought was necessary for if -statements. My IDE