class Bankleitzahl::HttpFile

Attributes

url[R]

Public Class Methods

fetch(url) click to toggle source
# File lib/bankleitzahl/fetcher.rb, line 23
def self.fetch(url)
  self.new(url).get
end
new(url) click to toggle source
# File lib/bankleitzahl/fetcher.rb, line 27
def initialize(url)
  @url = url
end

Public Instance Methods

get() click to toggle source
# File lib/bankleitzahl/fetcher.rb, line 31
def get
  execute
end

Private Instance Methods

execute(options = {}) click to toggle source
# File lib/bankleitzahl/fetcher.rb, line 37
def execute(options = {})
  http.read_timeout = 360 # seconds
  http.set_debug_output $stderr if options[:debug]

  request = Net::HTTP::Get.new(uri.request_uri)

  response = http.request(request)

  if response.code.to_i == 200
    response.body.force_encoding("ISO-8859-1")
    response.body.encode("UTF-8")
  else
    nil
  end
rescue Errno::ECONNREFUSED, Addressable::URI::InvalidURIError
  nil
end
http() click to toggle source
# File lib/bankleitzahl/fetcher.rb, line 55
def http
  @http ||= Net::HTTP.new(uri.host, uri.port)
end
uri() click to toggle source
# File lib/bankleitzahl/fetcher.rb, line 59
def uri
  @uri ||= Addressable::URI.parse(url)
end