Runtime assertions for Ruby literal.fun
ruby
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove the option to disable checks (#259)

authored by

Joel Drapper and committed by
GitHub
951291df 3a5bd0fe

+13 -29
-2
lib/literal.rb
··· 1 1 # frozen_string_literal: true 2 2 3 3 module Literal 4 - TYPE_CHECKS_DISABLED = ENV["LITERAL_TYPE_CHECKS"] == "false" 5 - 6 4 autoload :Array, "literal/array" 7 5 autoload :Data, "literal/data" 8 6 autoload :DataProperty, "literal/data_property"
+13 -27
lib/literal/property.rb
··· 118 118 "\n value\nend\n" 119 119 end 120 120 121 - if Literal::TYPE_CHECKS_DISABLED 122 - def generate_writer_method(buffer = +"") 123 - buffer << 124 - (@writer ? @writer.name : "public") << 125 - " def " << 126 - @name.name << 127 - "=(value)\n" << 128 - " @#{@name.name} = value\nend\n" 129 - end 130 - else # type checks are enabled 131 - def generate_writer_method(buffer = +"") 132 - buffer << 133 - (@writer ? @writer.name : "public") << 134 - " def " << 135 - @name.name << 136 - "=(value)\n" << 137 - " self.class.literal_properties[:" << 138 - @name.name << 139 - "].check_writer(self, value)\n" << 140 - " @" << @name.name << " = value\n" << 141 - "rescue Literal::TypeError => error\n error.set_backtrace(caller(1))\n raise\n" << 142 - "end\n" 143 - end 121 + def generate_writer_method(buffer = +"") 122 + buffer << 123 + (@writer ? @writer.name : "public") << 124 + " def " << 125 + @name.name << 126 + "=(value)\n" << 127 + " self.class.literal_properties[:" << 128 + @name.name << 129 + "].check_writer(self, value)\n" << 130 + " @" << @name.name << " = value\n" << 131 + "rescue Literal::TypeError => error\n error.set_backtrace(caller(1))\n raise\n" << 132 + "end\n" 144 133 end 145 134 146 135 def generate_predicate_method(buffer = +"") ··· 171 160 generate_initializer_coerce_property(buffer) 172 161 end 173 162 174 - unless Literal::TYPE_CHECKS_DISABLED 175 - generate_initializer_check_type(buffer) 176 - end 177 - 163 + generate_initializer_check_type(buffer) 178 164 generate_initializer_assign_value(buffer) 179 165 end 180 166