Ruby用クラスライブラリ


概要

Rubyを使用して簡単にどこどこJP判定値にアクセスするためのクラスライブラリです。 このライブラリは ruby 1.8.5 で動作確認をしています。

ライセンス

履歴

変更履歴を記載しています。

Version 日付 詳細
1.0.0 2011/08/29 公開 -

ダウンロード

実装例

                require 'docodocoJP.rb'
                hashResult = Hash.new                           // 判定結果のハッシュ
                
                obj = DocodocoJP.new( "APIキー1", "APIキー2" )  // objは任意の変数名
                hashResult = obj.GetAttribute()
                
                puts hashResult['PrefJName']
            

このスクリプトは成功時に以下のように出力します。

 

コンストラクタ

コンストラクタについての解説です。

コンストラクタ 説明
DocodocoJP( string $key1, string $key2 )
  • $key1:APIキー1
  • $key2:APIキー2
どこどこJPオブジェクトのインスタンスを生成し、
与えられたAPIキーでユーザー認証を行います。
 
下記の場合は例外を発生します。
 ・ユーザー認証に失敗した場合
 ・APIサーバーからの応答が無いなど、
  APIが使用不可能であると考えられる場合

インスタンス変数

インスタンス変数についての解説です。

プロパティ 説明
apikey1 protected string APIキー1
apikey2 protected string APIキー2
targetIP protected string 検索対象となるIPアドレス
charset protected string 検索結果出力の文字コード
hashResult protected hash 検索結果
(ハッシュのキーはRESTのリターンパラメータに準じる)
hashStatus protected hash 検索結果のステータス
  • code:ステータスコード
  • message:ステータス文字列

メソッド

メソッドについての解説です。

メソッド名( 引数 ) 戻り値 説明
SetKey1( string $key1 ) boolean 成否 どこどこ APIキー1をセット
SetKey2( string $key2 ) boolean 成否 どこどこ APIキー2をセット
SetIP( string $ip ) boolean 成否 検索対象のIPアドレスをセット
SetChar( string $character ) boolean 成否 文字コードのセット
$character
  • JIS
  • Shift_JIS
  • EUC-JP
  • UTF-8
GetAttribute( ) hash 判定結果 どこどこJPに問い合わせを行い、判定結果をハッシュで返す
GetHash() hash 判定結果 直前の判定結果をハッシュで返す
GetArray() hash 判定結果 直前の判定結果をハッシュで返す
( Gethash()メソッドと同じ )
GetStatus() hash ステータス 直前の判定結果ステータスをハッシュで返す

IPアドレスの検索

                require 'docodocoJP.rb'
                
                obj = DocodocoJP.new( "APIキー1", "APIキー2" )    // objは任意の変数名
                obj.SetIP( "210.251.250.30" )
                hashResult = obj.GetAttribute()
                
                puts hashResult['OrgName']
            

このスクリプトは成功時に以下のように出力します。

サイバーエリアリサーチ株式会社

判定値をShift_JISの配列で受け取る

                require 'docodocoJP.rb'
                
                obj = DocodocoJP.new( "APIキー1", "APIキー2" )
                obj.SetIP( "210.251.250.30" )
                obj.SetChar( "Shift_JIS" )
                
                hashResult = obj.GetAttribute()
                puts hashResult['CityJName']
            

このスクリプトは成功時に以下のように出力します。

 

例外/メソッド成否を考慮する

                require 'docodocoJP.rb'
                
                begin
                  obj = DocodocoJP.new( "APIキー1", "APIキー2" )
                rescue Exception => e
                  print "例外が発生しました\n"
                  print e.message + "\n"
                  exit
                end
                
                if(! obj.SetIP( "220.216.104.1" ) ) then
                  puts "IPアドレスの形式が不正です"
                  exit
                end
                
                if( obj.SetChar( "UTF-8" ) ) then
                  puts "出力の文字コードがUTF-8に設定されました"
                else
                  puts "出力の文字コード変更に失敗しました"
                end
                
                hashObj = obj.GetAttribute()
                
                hStatus = obj.GetStatus
                print "ステータスメッセージは #{hStatus['message']} でした\n"
                
                print "-----------\n"
                hashObj.each{|key,value|
                  print "#{key} : #{value} \n"
                }
            

このスクリプトは成功時に以下のように出力します。

出力の文字コードがUTF-8に設定されました
ステータスメッセージは OK でした
-----------
PrefJName : 静岡
(以下略)



Page Top