Sha256: 218c13012a8dd31c776fc942ad079f5e2c17a206f357bf429f1e63301999c5ea

Contents?: true

Size: 1.39 KB

Versions: 7

Compression:

Stored size: 1.39 KB

Contents

module Mushikago
  module Http
    # Mushikagoサービスのレスポンスを扱うクラス
    # Mushikagoサービスのレスポンスは以下のような構造になっている
    #   {
    #     meta : {
    #       status : 200,
    #       message : 'OK'
    #     },
    #     response : {
    #       // サービス毎に異なる情報
    #     }
    #   }
    #
    class Response
      # @return [Object] レスポンスのメタ情報
      attr_reader :meta
      # @return [Object] レスポンスの本体
      attr_reader :response
      
      # @param [Hash] options オプション
      # @option options [Object] :meta レスポンスのメタ情報
      # @option options [Object] :response レスポンスの本体
      def initialize options={}
        @meta = options[:meta] || options['meta']
        @response = options[:response] || options['response']
      end

      # メタ情報中のstatusを返す
      # @return [Integer] ステータス
      def status
        meta[:status].to_i
      end

      # メタ情報中のmessageを返す
      # @return [String] メッセージ
      def message
        meta[:message]
      end

      # レスポンスの各要素にアクセスする
      # @param [Symbol] key レスポンスの各要素へのキー
      # @return [Object] レスポンスの要素
      def [] key
        response[key]
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mushikago-sdk-0.2.3 lib/mushikago/http/response.rb
mushikago-sdk-0.2.1 lib/mushikago/http/response.rb
mushikago-sdk-0.1.8 lib/mushikago/http/response.rb
mushikago-sdk-0.1.7 lib/mushikago/http/response.rb
mushikago-sdk-0.1.6 lib/mushikago/http/response.rb
mushikago-sdk-0.1.5 lib/mushikago/http/response.rb
mushikago-sdk-0.1.4 lib/mushikago/http/response.rb