Class: HoptoadNotifier::Sender
- Inherits:
-
Object
- Object
- HoptoadNotifier::Sender
- Defined in:
- lib/hoptoad_notifier/sender.rb
Overview
Sends out the notice to Hoptoad
Constant Summary collapse
- NOTICES_URI =
'/notifier_api/v2/notices/'.freeze
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Sender
constructor
A new instance of Sender.
-
#send_to_hoptoad(data) ⇒ Object
Sends the notice data off to Hoptoad for processing.
Constructor Details
#initialize(options = {}) ⇒ Sender
Returns a new instance of Sender.
7 8 9 10 11 12 |
# File 'lib/hoptoad_notifier/sender.rb', line 7 def initialize( = {}) [:proxy_host, :proxy_port, :proxy_user, :proxy_pass, :protocol, :host, :port, :secure, :http_open_timeout, :http_read_timeout].each do |option| instance_variable_set("@#{option}", [option]) end end |
Instance Method Details
#send_to_hoptoad(data) ⇒ Object
Sends the notice data off to Hoptoad for processing.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/hoptoad_notifier/sender.rb', line 17 def send_to_hoptoad(data) logger.debug { "Sending request to #{url.to_s}:\n#{data}" } if logger http = Net::HTTP::Proxy(proxy_host, proxy_port, proxy_user, proxy_pass). new(url.host, url.port) http.read_timeout = http_read_timeout http.open_timeout = http_open_timeout http.use_ssl = secure response = begin http.post(url.path, data, HEADERS) rescue TimeoutError => e log :error, "Timeout while contacting the Hoptoad server." nil end case response when Net::HTTPSuccess then log :info, "Success: #{response.class}", response else log :error, "Failure: #{response.class}", response end end |