class DSN::Subcode::Base

Shared behaviour for subcodes.

Attributes

status_code[R]

Public Class Methods

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

Public Instance Methods

to_i() click to toggle source
# File lib/dsn/subcode/base.rb, line 21
def to_i
  Integer(significant_parts.last)
rescue ArgumentError
  raise InvalidSubcode
end
to_s() click to toggle source
# File lib/dsn/subcode/base.rb, line 17
def to_s
  filename
end
valid?() click to toggle source
# File lib/dsn/subcode/base.rb, line 11
def valid?
  File.exist?(filepath)
rescue InvalidSubcode
  false
end

Private Instance Methods

filename() click to toggle source
# File lib/dsn/subcode/base.rb, line 33
def filename
  format_string % significant_parts
rescue ArgumentError
  raise InvalidSubcode
end
filepath() click to toggle source

TODO: Cleanup

# File lib/dsn/subcode/base.rb, line 48
def filepath
  "#{__dir__}/../data/#{self}"
end
format_string() click to toggle source
# File lib/dsn/subcode/base.rb, line 39
def format_string
  raise NotImplementedError
end
significant_parts() click to toggle source
# File lib/dsn/subcode/base.rb, line 43
def significant_parts
  raise NotImplementedError
end