Class: Webclient::Response::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/webclient/webclient_response-status.rb

Overview

nested class Response::Status

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code, message: nil) ⇒ Status

Returns a new instance of Status.



18
19
20
21
22
23
# File 'lib/webclient/webclient_response-status.rb', line 18

def initialize( code, message: nil )
  ## note - upstream Net::HTTP::Response::code is a string e.g. "200"!!!

  ##             convert to integer number

  @code    = code.to_i(10)
  @message = message
end

Instance Attribute Details

#codeObject (readonly)

fix-fix-fix maybe fold back into response.status | status_code response.status_message | status_msg keep it simple?

keep status.ok?    =>  response.ok?
keep status.nok?   =>  response.nok?


16
17
18
# File 'lib/webclient/webclient_response-status.rb', line 16

def code
  @code
end

Instance Method Details

#==(other) ⇒ Object

note - allow compare with integer e.g. response.status == 200



31
32
33
# File 'lib/webclient/webclient_response-status.rb', line 31

def ==(other)
  other.is_a?(Status) ? code == other.code : code == other.to_i
end

#error?Boolean

Returns:

  • (Boolean)


41
# File 'lib/webclient/webclient_response-status.rb', line 41

def error?()     code >= 400; end

#messageObject Also known as: msg



44
# File 'lib/webclient/webclient_response-status.rb', line 44

def message() @message; end

#nok?Boolean

Returns:

  • (Boolean)


37
# File 'lib/webclient/webclient_response-status.rb', line 37

def nok?() code != 200; end

#ok?Boolean

Returns:

  • (Boolean)


36
# File 'lib/webclient/webclient_response-status.rb', line 36

def ok?()  code == 200; end

#redirect?Boolean

Returns:

  • (Boolean)


40
# File 'lib/webclient/webclient_response-status.rb', line 40

def redirect?()  (300..399).include?(code); end

#success?Boolean

Returns:

  • (Boolean)


39
# File 'lib/webclient/webclient_response-status.rb', line 39

def success?()   (200..299).include?(code); end

#to_iObject

use alias_method :to_id, :code - why? why not?



26
# File 'lib/webclient/webclient_response-status.rb', line 26

def to_i()   @code; end

#to_intObject



27
# File 'lib/webclient/webclient_response-status.rb', line 27

def to_int() @code; end