Module: Common
- Defined in:
- lib/debugtrace/common.rb
Overview
common.rb © 2025 Masato Kokubo
Class Method Summary collapse
Class Method Details
.check_type(value_name, value, type) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/debugtrace/common.rb', line 4 def self.check_type(value_name, value, type) if !(value_name.is_a? String); raise "Argument value_name (=#{value_name}) must be a String"; end if !(type.is_a? Class); raise "Argument type (=#{type}) must be a Class"; end error = false if type == FalseClass || type == TrueClass # false or true if value.class != FalseClass && value.class != TrueClass check_error = true end else error = value.class != type end if error value_string = value.class == String ? "\"#{value}\"" : "#{value}" top_type_name = type.name.slice(0).upcase a = top_type_name == 'A' || top_type_name == 'I' || top_type_name == 'U' || top_type_name == 'E' || top_type_name == 'O' ? 'an' : 'a' raise "Argument #{value_name} (=#{value_string}) must be #{a} #{type}" end value end |