class SurveyGizmo::ParseSurveyGizmo
Constants
- PAGINATION_FIELDS
- TIME_FIELDS
Private Class Methods
cleanup_attribute_name(attr)
click to toggle source
# File lib/survey_gizmo/faraday_middleware/parse_survey_gizmo.rb, line 76 def self.cleanup_attribute_name(attr) attr.downcase.gsub(/[^[:alnum:]]+/, '_') .gsub(/(url|variable|standard|shown)/, '') .gsub(/_+/, '_') .gsub(/^_|_$/, '') end
find_attribute_parent(attr)
click to toggle source
# File lib/survey_gizmo/faraday_middleware/parse_survey_gizmo.rb, line 83 def self.find_attribute_parent(attr) case attr.downcase when /url/ 'url' when /variable.*standard/ 'meta' when /variable.*shown/ 'shown' when /variable/ 'variable' when /question/ 'answers' end end
Public Instance Methods
call(environment)
click to toggle source
# 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