Class: Prolenea::ProleneaResponseMiddleware
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Prolenea::ProleneaResponseMiddleware
- Defined in:
- lib/prolenea/middleware/prolenea_response_middleware.rb
Constant Summary collapse
- RESPONSE_ROW_NAMES =
%w( number local_routing_number ported_date alternative_spid alternative_spid_name line_type operating_company_number operating_company_name lata city state )
Instance Method Summary collapse
Instance Method Details
#on_complete(env) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/prolenea/middleware/prolenea_response_middleware.rb', line 18 def on_complete(env) case env[:status] when 200 env[:parsed_body] = self.parse_body env[:body] else raise ProleneaRequestError.new({}), "Recieved an unexpected HTTP response code #{env[:status]}" end env end |
#parse_body(body) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/prolenea/middleware/prolenea_response_middleware.rb', line 29 def parse_body(body) number_info = {} rows = body.split("\r\n") if rows.length != RESPONSE_ROW_NAMES.length raise ProleneaRequestError.new({}), "Unable to parse HTTP response body" end rows.each_with_index do |row, i| number_info[RESPONSE_ROW_NAMES[i]] = (row == '-' ? nil : row) end number_info end |