Noob, помогите переформатировать, если дело в Rails - PullRequest
0 голосов
/ 22 июля 2011

Привет, может кто-нибудь помочь мне преобразовать этот код в операторы case в Ruby

def can_save?
    if signed_in?
      @user.updating_password = false
      return true if @greeting.save & @user.save
    elsif !guest_user? & @greeting.valid? & @user.valid?
         sign_in(@user)  if @greeting.save & @user.save
         return true
    elsif guest_user?
      if !params[:user][:email].blank? & (@user.valid? & @greeting.valid?)
        if (@greeting.save & @user.save)
          sign_in(@user)
          return true
        end
      elsif params[:user][:email].blank?
        return true if @greeting.save
      end
    end
  end

1 Ответ

0 голосов
/ 22 июля 2011
def can_save?
  validation_check

  if signed_in?
    @user.updating_password = false
  else
    unless params[:user][:email].blank?
      sign_in(@user)
    end
  end

end


private

def validation_check
  if @user.valid? && @greeting.valid?
    @user.save
    @greeting.save
  else
    return
  end
end
...