Sha256: 8a043c671caed849329cd0fd1afb4ef812ae5c0e1c34edf24a4b2bc1e9ddafde
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
require 'glimmer/dsl/expression' require 'glimmer/dsl/web/general_element_expression' require 'glimmer/web/element_proxy' module Glimmer module DSL module Web class ElementExpression < Expression include GeneralElementExpression def can_interpret?(parent, keyword, *args, &block) Glimmer::Web::ElementProxy.keyword_supported?(keyword) end end end end end module Glimmer # Optimize performance through shortcut methods for all HTML elements that circumvent the DSL chain of responsibility element_expression = Glimmer::DSL::Web::ElementExpression.new (Glimmer::Web::ElementProxy::ELEMENT_KEYWORDS - ['style']).each do |keyword| Glimmer::DSL::Engine.static_expressions[keyword] ||= Concurrent::Hash.new element_expression_dsl = element_expression.class.dsl Glimmer::DSL::Engine.static_expressions[keyword][element_expression_dsl] = element_expression Glimmer.send(:define_method, keyword, &Glimmer::DSL::Engine::STATIC_EXPRESSION_METHOD_FACTORY.call(keyword)) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
glimmer-dsl-web-0.2.2 | lib/glimmer/dsl/web/element_expression.rb |