78 lines
1.1 KiB
Ruby
78 lines
1.1 KiB
Ruby
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
|
|
|
|
# region User Blocking
|
|
class Blocked < Forbidden
|
|
end
|
|
|
|
class OtherBlockedSelf < Blocked
|
|
end
|
|
|
|
class BlockingSelf < SelfAction
|
|
end
|
|
|
|
class AskingOtherBlockedSelf < OtherBlockedSelf
|
|
end
|
|
|
|
class FollowingOtherBlockedSelf < OtherBlockedSelf
|
|
end
|
|
|
|
class SelfBlockedOther < Blocked
|
|
end
|
|
|
|
class AskingSelfBlockedOther < SelfBlockedOther
|
|
end
|
|
|
|
class FollowingSelfBlockedOther < SelfBlockedOther
|
|
end
|
|
|
|
class AnsweringOtherBlockedSelf < OtherBlockedSelf
|
|
end
|
|
|
|
class AnsweringSelfBlockedOther < SelfBlockedOther
|
|
end
|
|
# endregion
|
|
end
|