require 'nokogiri'
api_body_result = <<-HTML
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>500 Server Error</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Server Error</h1>
<h2>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. </h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. .</p>
</body>
</html>
HTML
doc = Nokogiri::HTML api_body_result
# source html inner text
text = doc.text
# or
# html title
title = doc.title
# html body
element = doc.at_css 'body'
body = element.text
# Technology
class Technology
attr_accessor :val
def initialize
@val = 42
yield self
end
end
# MyClass2
class MyClass
# @param [Integer] val
# @return [NilClass]
def a_method(val)
puts val
end
# @return [NilClass]
def b_method
Technology.new do |technology|
a_method technology.val
end
end
end
my_class = MyClass.new
my_class.b_method # => 42
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
driver.get 'https://ya.ru'
result = driver.execute_script 'return Ya._metrika.hitId;'
puts result
require 'unirest'
require 'nokogiri'
response = Unirest.get 'http://example.com'
doc = Nokogiri::HTML response.raw_body
element = doc.at_css 'script' # тут нужен более точный селектор
element.text # вернёт вам сырой JavaScript
# encoding: utf-8
# @see https://toster.ru/q/447239
require 'date'
# @param [Hash] source
# @return [String]
def main(source, equal = ' = ', separator = ', ', result = [])
source.map do |key, value|
case value
when String, Date
value = %Q('#{value}')
when Fixnum, Bignum, Float
else
raise "Wrong class for #{value}"
end
result << "#{key}#{equal}#{value}"
end
result.join separator
end
# passed
# tstr='foo',tnbr=42,tdate='2017-12-18'
source = { tstr: 'foo', tnbr: 42, tdate: Date.today }
puts main source, '=', ','
# passed
# tstr = 'foo', tnbr = 42.42, tdate = '2017-12-18'
source = { tstr: 'foo', tnbr: 42.42, tdate: Date.today }
puts main source
# failed
source = { tstr: %w(foo), tnbr: 42, tdate: Date.today }
puts main source