Sha256: 0f434fa584f4d626e3eb118a9634f9c055cd1974856ed1f642e6abea0157e11d

Contents?: true

Size: 637 Bytes

Versions: 3

Compression:

Stored size: 637 Bytes

Contents

#encoding: UTF-8
require 'net/http'
require 'uri'

module Termit
  class DataFetcher
    include CanOutput
    delegate :display_no_internet_msg, to: :output_manager

    def initialize url, text
      @url = url
      @text = text
    end

    def data
      send_request
    end

    private

    def send_request
      uri = URI.parse @url
      http = Net::HTTP.new(uri.host, uri.port)
      query = "q=#{URI::encode(@text)}"
      url = "#{uri.request_uri}&#{query}"
      request = Net::HTTP::Get.new(url)
      http.use_ssl = true
      http.request(request)
    rescue SocketError
      display_no_internet_msg
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
termit-2.11.2 lib/termit/data_fetcher.rb
termit-2.11.1 lib/termit/data_fetcher.rb
termit-2.11.0 lib/termit/data_fetcher.rb