I would like to create a before_save callback that only gets run if there have been changes to any (but not necessarily all) of the three fields (street, city,
before_save
You can do it in one line using a Proc:
Proc
class User before_save :run_test_method, :if => Proc.new { |u| u.street_changed? || u.city_changed? || u.state_changed? } ... end