Sha256: 5322c3603a951498f6684c8bd302013aac72422e212c7383b22f92fee14e0ecd
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 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 Kernel alias pi p 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 - ['span', '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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
glimmer-dsl-web-0.2.4 | lib/glimmer/dsl/web/element_expression.rb |
glimmer-dsl-web-0.2.3 | lib/glimmer/dsl/web/element_expression.rb |