2016-07-08 15 views
0

htthppartyを使用してローカルトークンを作成して、特定のWebサイトに接続して認証トークンを取得します。私は正しい電子メールとパスワードを入力したときにauth_tokenを取得するプログラムを取得できました。私が間違ってメール/パスワードを置く場合は、それが返されます。ほとんどのエラーがstandard error下に分類されているように思えNameError: uninitialized constant Gemname::InvalidStudentCodeErrorhttptyを使用した間違ったユーザー名/パスワードのエラー処理

require 'httparty' 
class Gemname 
    include HTTParty 

    def initialize(email, password) 
    response = self.class.post("https://www.website.io/api/v1/sessions", body: {"email": email, "password": password}) 
#####error-handler##### 
    if StandardError 
     puts "invalid email/pass" 
    end 
####################### 
    @auth_token = response["auth_token"] 
    end 
end 

irb Gemname.new('email', 'wrong-password')から実行するアイデアは、"Wrong email/password"を返します。適切なメッセージを表示するためにエラーをどのように処理する必要がありますか?

編集: 私は初期にこれらのコードを試してみました:私はまた、フォルダの名前gemname libフォルダに作成された

を試してみました

if StandardError 
    "error" 
end 

- > error.rb error.rb:

class InvalidStudentCodeError < StandardError 
    def initialize(msg="invalid email or password") 
    super(msg) 
    end 
end 

と初期化時:

raise InvalidStudentCodeError.new() if response.code == 401 
+0

あなたは方法の完全なコードを表示することができますか? –

+0

@NicNilov編集 - 試したコード行を追加 – Iggy

答えて

0

次の昇給の方法は、それを解決:

def initialize(email, password) 
    response = self.class.post("https://www.website.io/api/v1/sessions", body: {"email": email, "password": password}) 
    raise "invalid email/pass, bud" if response.code != 200 
    @auth_token = response["auth_token"] 
    end 
関連する問題