From 04511b994e19de65fff84dd55a246842a2f9ad29 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 27 Nov 2019 12:11:34 +0900 Subject: [PATCH] Remove re-define embedded error classes and extract argument on custom error classes --- lib/matrix.rb | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/lib/matrix.rb b/lib/matrix.rb index 690f98f3aa..0f4e1b2cf4 100644 --- a/lib/matrix.rb +++ b/lib/matrix.rb @@ -15,18 +15,6 @@ require_relative "matrix/version" module ExceptionForMatrix # :nodoc: - class TypeError - def initialize(val) - "wrong argument type #{val} (expected #{val})" - end - end - - class ArgumentError - def initialize(val) - "Wrong # of arguments(#{val} for #{val})" - end - end - class ErrDimensionMismatch < StandardError def initialize super("\#{self.name} dimension mismatch") @@ -40,14 +28,14 @@ module ExceptionForMatrix # :nodoc: end class ErrOperationNotDefined < StandardError - def initialize(val) - super("Operation(#{val}) can\\'t be defined: #{val} op #{val}") + def initialize(op, sc, oc) + super("Operation(#{op}) can\\'t be defined: #{sc} op #{oc}") end end class ErrOperationNotImplemented < StandardError - def initialize(val) - super("Sorry, Operation(#{val}) not implemented: #{val} op #{val}") + def initialize(op, sc, oc) + super("Sorry, Operation(#{op}) not implemented: #{sc} op #{oc}") end end end