class DSN::StatusCode
The full status code
Attributes
class_subcode[R]
code[R]
detail_subcode[R]
subject_subcode[R]
Public Class Methods
from_string(code)
click to toggle source
# File lib/dsn/status_code.rb, line 10 def self.from_string(code) new(Parser::String.new(code)) end
new(code)
click to toggle source
# File lib/dsn/status_code.rb, line 16 def initialize(code) @code = code @class_subcode = Subcode::ClassSubcode.new(code) @subject_subcode = Subcode::SubjectSubcode.new(code) @detail_subcode = Subcode::DetailSubcode.new(code) end
Public Instance Methods
subcode()
click to toggle source
Returns the most detailed subcode that is valid
# File lib/dsn/status_code.rb, line 28 def subcode raise InvalidStatusCode unless class_subcode.valid? subcodes.select(&:valid?).last end
to_s()
click to toggle source
# File lib/dsn/status_code.rb, line 34 def to_s code.to_s end
valid?()
click to toggle source
# File lib/dsn/status_code.rb, line 23 def valid? subcodes.all?(&:valid?) end
Private Instance Methods
subcodes()
click to toggle source
# File lib/dsn/status_code.rb, line 48 def subcodes [class_subcode, subject_subcode, detail_subcode] end