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