12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/glimmer/dsl/web/element_expression.rb', line 12
def can_interpret?(parent, keyword, *args, &block)
Glimmer::Web::ElementProxy.keyword_supported?(keyword) &&
(
args.empty? ||
args.size == 1 && args.first.is_a?(String) ||
args.size == 1 && args.first.is_a?(Hash) ||
args.size == 2 && args.first.is_a?(String) && args.last.is_a?(Hash)
) &&
( !Glimmer::Web::ElementProxy.svg_keyword_supported?(keyword) ||
keyword == 'svg' ||
parent.find_ancestor(include_self: true) { |ancestor| ancestor.keyword == 'svg' }
)
end
|