Module: Hamlit::BooleanAttributes
- Defined in:
- lib/hamlit/boolean_attributes.rb,
lib/hamlit/boolean_attributes/version.rb
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.add(attribute) ⇒ Object
Changing Hamlit::AttributeBuilder::BOOLEAN_ATTRIBUTES to a instance/class method will cause performance regression because it requires rb_funcall.
Class Method Details
.add(attribute) ⇒ Object
Changing Hamlit::AttributeBuilder::BOOLEAN_ATTRIBUTES to a instance/class method will cause performance regression because it requires rb_funcall. So directly modifying constant.
9 10 11 12 13 14 15 16 |
# File 'lib/hamlit/boolean_attributes.rb', line 9 def self.add(attribute) original = Hamlit::AttributeBuilder::BOOLEAN_ATTRIBUTES.dup original << attribute.to_s Hamlit::AttributeBuilder.class_eval do remove_const('BOOLEAN_ATTRIBUTES') const_set('BOOLEAN_ATTRIBUTES', original.uniq.freeze) end end |