module Errors class Base < StandardError def status 500 end def code @code ||= self.class.name.sub('Errors::', '').underscore end def locale_tag @locale_tag ||= "errors.#{code}" end end class BadRequest < Base def status 400 end end class InvalidBanDuration < BadRequest end class Forbidden < Base def status 403 end end class SelfAction < Forbidden end class FollowingSelf < SelfAction end class NotFound < Base def status 404 end end class UserNotFound < NotFound end end