Path: blob/trunk/rb/lib/selenium/devtools/support/cdp/domain.rb.erb
1990 views
# frozen_string_literal: true # Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The SFC licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # This file is automatically generated. Any changes will be lost! module Selenium module DevTools module <%= version %> class <%= domain[:domain] %> <% if domain[:events] %> EVENTS = { <% domain[:events].each do |event| %> <%= h.snake_case(event[:name]) %>: '<%= event[:name] %>', <% end %> }.freeze <% end %> def initialize(devtools) @devtools = devtools end def on(event, &block) event = EVENTS[event] if event.is_a?(Symbol) @devtools.callbacks["<%= domain[:domain] %>.#{event}"] << block end <% domain[:commands].each do |command| %> <% if command[:parameters] %> def <%= h.snake_case(command[:name]) %>(<%= h.kwargs(command[:parameters]) %>) <% else %> def <%= h.snake_case(command[:name]) %> <% end %> <% if command[:parameters] %> @devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>', <% until command[:parameters].empty? %> <% parameter = command[:parameters].shift %> <%= parameter[:name] %>: <%= h.snake_case(parameter[:name]) %><%= command[:parameters].empty? ? ')' : ',' %> <% end %> <% else %> @devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>') <% end %> end <% end %> end # <%= domain[:domain] %> end # <%= version %> end # DevTools end # Selenium