Class: SurveyGizmo::ParseSurveyGizmo

Inherits:
FaradayMiddleware::ResponseMiddleware
  • Object
show all
Defined in:
lib/survey_gizmo/faraday_middleware/parse_survey_gizmo.rb

Constant Summary collapse

PAGINATION_FIELDS =
[
  'page',
  'results_per_page',
  'total_count',
  'total_pages'
]
TIME_FIELDS =
[
  'created_on',
  'datecreated',
  'datemodified',
  'datesubmitted',
  'modified_on'
]

Instance Method Summary collapse

Instance Method Details

#call(environment) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/survey_gizmo/faraday_middleware/parse_survey_gizmo.rb', line 25

def call(environment)
  @app.call(environment).on_complete do |response|
    fail RateLimitExceededError if response.status == 429
    fail BadResponseError, "Bad response code #{response.status} in #{response.inspect}" unless response.status == 200
    fail BadResponseError, response.body['message'] unless response.body['result_ok'] && response.body['result_ok'].to_s =~ /^true$/i

    process_response(response)
  end
end