Module: SurveyGizmo

Defined in:
lib/survey_gizmo/multilingual_title.rb,
lib/survey_gizmo/logger.rb,
lib/survey_gizmo/version.rb,
lib/survey_gizmo/resource.rb,
lib/survey_gizmo/connection.rb,
lib/survey_gizmo/configuration.rb,
lib/survey_gizmo/faraday_middleware/parse_survey_gizmo.rb

Overview

SurveyGizmo has a bad habit of returning titles in different formats when one is requesting via .all vs .first

Defined Under Namespace

Modules: API, MultilingualTitle, Resource Classes: BadResponseError, Configuration, Connection, Logger, ParseSurveyGizmo, RateLimitExceededError, URLError

Constant Summary collapse

VERSION =
'7.0.0'
CONFIG_THREAD_VARIABLE_NAME =
:survey_gizmo_configuration

Class Method Summary collapse

Class Method Details

.configurationObject



8
9
10
11
# File 'lib/survey_gizmo/configuration.rb', line 8

def configuration
  fail 'Not configured!' unless Thread.current[CONFIG_THREAD_VARIABLE_NAME] || @global_config
  Thread.current[CONFIG_THREAD_VARIABLE_NAME] ||= @global_config.dup
end

.configuration=(new_config) ⇒ Object



13
14
15
16
# File 'lib/survey_gizmo/configuration.rb', line 13

def configuration=(new_config)
  @global_config = new_config.dup
  Thread.current[CONFIG_THREAD_VARIABLE_NAME] = new_config
end

.configure {|configuration| ... } ⇒ Object

Yields:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/survey_gizmo/configuration.rb', line 18

def configure
  reset!
  yield(configuration) if block_given?

  if configuration.retry_attempts
    configuration.logger.warn('Configuring retry_attempts is deprecated; pass a retriable_params hash instead.')
    configuration.retriable_params[:tries] = configuration.retry_attempts + 1
  end

  if configuration.retry_interval
    configuration.logger.warn('Configuring retry_interval is deprecated; pass a retriable_params hash instead.')
    configuration.retriable_params[:base_interval] = configuration.retry_interval
  end

  configuration.retriable_params = Configuration::DEFAULT_RETRIABLE_PARAMS.merge(configuration.retriable_params)

  @global_config = configuration
end

.reset!Object



37
38
39
40
# File 'lib/survey_gizmo/configuration.rb', line 37

def reset!
  Thread.current[CONFIG_THREAD_VARIABLE_NAME] = Configuration.new
  Connection.reset!
end