class Rae
Constants
- OPEN_TIMEOUT
- READ_TIMEOUT
- SEARCH_URL
- USER_AGENT
rubocop:disable LineLength
Public Class Methods
search(word)
click to toggle source
# File lib/nebrija/rae.rb, line 11 def self.search(word) new.search word end
Public Instance Methods
form_data()
click to toggle source
# File lib/nebrija/rae.rb, line 38 def form_data { 'TS017111a7_id': '3', 'TS017111a7_cr': '1895c885a17201dca76eb401d01fd59f:jlmn:U9YRi5sw:1485055093', 'TS017111a7_76': '0', 'TS017111a7_86': '0', 'TS017111a7_md': '1', 'TS017111a7_rf': '0', 'TS017111a7_ct': '0', 'TS017111a7_pd': '0' } end
query(word)
click to toggle source
# File lib/nebrija/rae.rb, line 20 def query(word) uri = URI.parse "#{SEARCH_URL}?w=#{CGI.escape(word)}".encode('iso-8859-1') request = Net::HTTP::Post.new(uri) request['User-Agent'] = USER_AGENT request.form_data = form_data Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http| http.open_timeout = OPEN_TIMEOUT http.read_timeout = READ_TIMEOUT response = http.request request debug(word, uri, response.code, response.body) if ENV['NEBRIJA_DEBUG'] response.body end end
search(word)
click to toggle source
old method, mantained for compatibility
# File lib/nebrija/rae.rb, line 16 def search(word) Parser.new(query(word)).parse end
Private Instance Methods
debug(word, url, status_code, body)
click to toggle source
# File lib/nebrija/rae.rb, line 53 def debug(word, url, status_code, body) STDERR.puts <<-DOC [debug] #{'=' * 40} word: #{word} url: #{url} status_code: #{status_code} DOC STDERR.puts "body: `#{body}`" if ENV['NEBRIJA_DEBUG'].to_i == 2 STDERR.puts end