Sha256: 2f859ed4f8b2271b2a6b7fb13eeadb6d4d8618c76fd2d947641ea802a3546f8e

Contents?: true

Size: 605 Bytes

Versions: 1

Compression:

Stored size: 605 Bytes

Contents

require 'hamlit'
require 'hamlit/boolean_attributes/version'

module Hamlit
  module BooleanAttributes
    # Changing Hamlit::AttributeBuilder::BOOLEAN_ATTRIBUTES to a instance/class method
    # will cause performance regression because it requires rb_funcall.
    # So directly modifying constant.
    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
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hamlit-boolean_attributes-0.1.0 lib/hamlit/boolean_attributes.rb