Runtime assertions for Ruby literal.fun
ruby
5
fork

Configure Feed

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

Simplify enum predicate regex

+2 -2
+2 -2
lib/literal/enum.rb
··· 86 86 object = const_get(name) 87 87 88 88 if self === object 89 - # object.instance_variable_set(:@name, name) 90 89 @names[object] = name 91 - define_method("#{name.to_s.gsub(/([^A-Z])([A-Z]+)/, '\1_\2').gsub(/_{2,}/, '_').downcase}?") { self == object } 90 + predicate_name = name.to_s.gsub(/(?<=[A-Z])(?=[A-Z][a-z])|(?<=[a-z\d])(?=[A-Z])/, "_").downcase 91 + define_method("#{predicate_name}?") { self == object } 92 92 object.freeze 93 93 end 94 94 end