Sha256: d939817a8084a4e3f41cc86b8d5b9e4654832c7bf4e34cdaa4f1bead1a055c5d

Contents?: true

Size: 1.04 KB

Versions: 9

Compression:

Stored size: 1.04 KB

Contents

module JpQuest
  # 基底のエラークラス
  class Error < StandardError; end

  # パスが見つからない場合のエラークラス
  class PathNotFoundError < Error
    # ヒアドキュメントを使うと、先頭と末尾に空行が入る
    # エラーメッセージも変更しやすいのでこうしている
    DOES_NOT_EXIST = <<~TEXT.freeze
      \n
      Path does not exist: %s
    TEXT

    # @param [String] path パス
    # @return [JpQuest::PathNotFoundError]
    def initialize(path)
      super(format(DOES_NOT_EXIST, path))
    end
  end

  # 行数が異なる場合のエラークラス
  class InvalidLineCountError < Error
    INVALID_LINE_COUNT = <<~TEXT.freeze
      \n
      Invalid line count: %s
    TEXT

    # @param [Integer] expect_count 期待する行数
    # @param [Integer] actual_count 実際の行数
    # @return [JpQuest::InvalidLineCountError]
    def initialize(expect_count, actual_count)
      super(format(INVALID_LINE_COUNT, "Expected: #{expect_count}, Actual: #{actual_count}"))
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
jp_quest-0.3.2 lib/jp_quest/util/error.rb
jp_quest-0.3.1 lib/jp_quest/util/error.rb
jp_quest-0.3.0 lib/jp_quest/util/error.rb
jp_quest-0.2.1 lib/jp_quest/error.rb
jp_quest-0.2.0 lib/jp_quest/error.rb
jp_quest-0.1.3 lib/jp_quest/error.rb
jp_quest-0.1.2 lib/jp_quest/error.rb
jp_quest-0.1.1 lib/jp_quest/error.rb
jp_quest-0.1.0 lib/jp_quest/error.rb