Module: CSS::Native
- Defined in:
- lib/css/native.rb,
lib/css/native.rb
Defined Under Namespace
Classes: Cascade, Snapshot
Class Method Summary
collapse
Class Method Details
.compile_or_nil(ast) ⇒ Object
61
62
63
64
65
|
# File 'lib/css/native.rb', line 61
def compile_or_nil(ast)
Selector.compile(ast)
rescue Unsupported
nil
end
|
.matches?(element, selector, snapshot: nil, document: nil, state: nil) ⇒ Boolean
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/css/native.rb', line 50
def matches?(element, selector, snapshot: nil, document: nil, state: nil)
ast = selector.is_a?(String) ? CSS.parse_selector_list(selector) : selector
compiled = compile_or_nil(ast)
snap = snapshot || snapshot_for(document || element.document)
return CSS.matches?(element, ast, state: state) unless compiled
native_state = state.nil? ? nil : (state.is_a?(State) ? state : snap.compile_state(state))
snap.matches?(element, compiled, native_state)
end
|