class DSN::Message

Descriptions of each Subcode as per RFC3463

Attributes

subcode[R]

Public Class Methods

new(subcode) click to toggle source
# File lib/dsn/message.rb, line 6
def initialize(subcode)
  @subcode = subcode
end

Public Instance Methods

body() click to toggle source
# File lib/dsn/message.rb, line 14
def body
  data.last.gsub("\n", ' ').strip
end
summary() click to toggle source
# File lib/dsn/message.rb, line 10
def summary
  data.first
end
to_s() click to toggle source
# File lib/dsn/message.rb, line 18
def to_s
  [summary, body].join("\n\n")
end

Private Instance Methods

data() click to toggle source
# File lib/dsn/message.rb, line 28
def data
  @data ||= data!
end
data!() click to toggle source
# File lib/dsn/message.rb, line 32
def data!
  File.read(filepath).split("\n\n")
rescue Errno::ENOENT
  raise InvalidSubcode, %("#{subcode}")
end
filepath() click to toggle source

TODO: Cleanup

# File lib/dsn/message.rb, line 39
def filepath
  "#{__dir__}/data/#{subcode}"
end