Class: Mushikago::Http::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/mushikago/http/response.rb

Overview

Mushikagoサービスのレスポンスを扱うクラス Mushikagoサービスのレスポンスは以下のような構造になっている

{
  meta : {
    status : 200,
    message : 'OK'
  },
  response : {
    // サービス毎に異なる情報
  }
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Response

Returns a new instance of Response.

Parameters:

  • options (Hash) (defaults to: {})

    オプション

Options Hash (options):

  • :meta (Object)

    レスポンスのメタ情報

  • :response (Object)

    レスポンスの本体



25
26
27
28
# File 'lib/mushikago/http/response.rb', line 25

def initialize options={}
  @meta = options[:meta] || options['meta']
  @response = options[:response] || options['response']
end

Instance Attribute Details

#metaObject (readonly)

Returns レスポンスのメタ情報.

Returns:

  • (Object)

    レスポンスのメタ情報



18
19
20
# File 'lib/mushikago/http/response.rb', line 18

def meta
  @meta
end

#responseObject (readonly)

Returns レスポンスの本体.

Returns:

  • (Object)

    レスポンスの本体



20
21
22
# File 'lib/mushikago/http/response.rb', line 20

def response
  @response
end

Instance Method Details

#[](key) ⇒ Object

レスポンスの各要素にアクセスする

Parameters:

  • key (Symbol)

    レスポンスの各要素へのキー

Returns:

  • (Object)

    レスポンスの要素



45
46
47
# File 'lib/mushikago/http/response.rb', line 45

def [] key
  response[key]
end

#[]=(key, value) ⇒ Object



49
50
51
# File 'lib/mushikago/http/response.rb', line 49

def []= key, value
  response[key] = value
end

#messageString

メタ情報中のmessageを返す

Returns:

  • (String)

    メッセージ



38
39
40
# File 'lib/mushikago/http/response.rb', line 38

def message
  meta[:message]
end

#statusInteger

メタ情報中のstatusを返す

Returns:

  • (Integer)

    ステータス



32
33
34
# File 'lib/mushikago/http/response.rb', line 32

def status
  meta[:status].to_i
end

#to_sObject



53
54
55
56
57
58
# File 'lib/mushikago/http/response.rb', line 53

def to_s
  {
    '@meta' => meta,
    '@response' => response
  }.to_json
end