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

- (Response) initialize(options = {})

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

- (Object) meta (readonly)

レスポンスのメタ情報

Returns:

  • (Object)

    レスポンスのメタ情報



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

def meta
  @meta
end

- (Object) response (readonly)

レスポンスの本体

Returns:

  • (Object)

    レスポンスの本体



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

def response
  @response
end

Instance Method Details

- (Object) [](key)

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

Parameters:

  • key (Symbol)

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

Returns:

  • (Object)

    レスポンスの要素



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

def [] key
  response[key]
end

- (Object) []=(key, value)



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

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

- (String) message

メタ情報中のmessageを返す

Returns:

  • (String)

    メッセージ



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

def message
  meta[:message]
end

- (Integer) status

メタ情報中のstatusを返す

Returns:

  • (Integer)

    ステータス



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

def status
  meta[:status].to_i
end

- (Object) to_s



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

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