button_method_missing(method_name, *_, &_block)click to toggle source
# File lib/capybara/pagemap/button.rb, line 18defbutton_method_missing(method_name, *_, &_block)
returnunless/(?<key>.*)_button$/=~method_name&&self.class.node_definitions[key.to_sym] &&self.class.node_definitions[key.to_sym][:type] ==:buttonbuild_button(key.to_sym)
send(method_name)
end
button_respond_to_missing?(method_name, _include_private = false)click to toggle source
# File lib/capybara/pagemap/button.rb, line 24defbutton_respond_to_missing?(method_name, _include_private = false)
/(?<key>.*)_button$/=~method_name&&self.class.node_definitions[key.to_sym]
end
button_validator_for(node)click to toggle source
# File lib/capybara/pagemap/button.rb, line 14defbutton_validator_for(node)
!send("#{node}_button").nil?end
Private Instance Methods
build_button(key_name)click to toggle source
# File lib/capybara/pagemap/button.rb, line 30defbuild_button(key_name)
instance_eval<<-RUBY def #{key_name}_button
@#{key_name}_button ||= page.find(:xpath, self.class.node_definitions[:#{key_name}][:value])
end
RUBYend