Class: Continuum::Configuration

Inherits:
Object
  • Object
show all
Defined in:
src/lib/continuum/configuration.rb

Overview

This class encapsulates all Continuum configuration defined in the user-editable continuum.json file and related functionality.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_path) ⇒ Configuration

Creates a new Configuration instance and reads the configuration defined in the continuum.json file.

Parameters:

  • config_path (String)

    The absolute path to a valid continuum.json file, including file name



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'src/lib/continuum/configuration.rb', line 77

def initialize(config_path)
  config = DataUtil.parse_json(File.read(config_path)) || {}
  @access_engine_type = config['accessEngineType']
  @proxy_configuration = config['proxy'] ? Proxy.new(config['proxy']) : nil
  @level_access_platform_configuration = config['levelAccessPlatform'] ? LevelAccessPlatform.new(config['levelAccessPlatform']) : nil

  unless config['accessibilityConcerns'].nil?
    @accessibility_concerns_format = config['accessibilityConcerns']['format']
    @include_potential_accessibility_concerns = config['accessibilityConcerns']['includePotentialConcerns'] || false
  end

  # Deprecated properties
  @amp_api_token = config['ampApiToken']
  @amp_instance_url = config['ampInstanceUrl']
  @default_standard_ids = config['defaultStandardIds']

  if @include_potential_accessibility_concerns.nil?
    @include_potential_accessibility_concerns = config['includePotentialAccessibilityConcerns']
  end
end

Instance Attribute Details

#access_engine_typeString

Gets the value for the ‘accessEngineType’ attribute defined in continuum.json. Used to determine which version of Access Engine is included with this installation of Continuum and should be used.

Returns:

  • (String)

    The value for the ‘accessEngineType’ attribute defined in continuum.json



19
20
21
# File 'src/lib/continuum/configuration.rb', line 19

def access_engine_type
  @access_engine_type
end

#accessibility_concerns_formatString?

Gets the value for the ‘accessibilityConcerns.format’ attribute defined in continuum.json. Used to determine the format in which accessibility concerns are reported. Set to ‘amp’ for results in the AMP format.

Returns:

  • (String, nil)

    The value for the ‘accessibilityConcerns.format’ attribute defined in continuum.json.



51
52
53
# File 'src/lib/continuum/configuration.rb', line 51

def accessibility_concerns_format
  @accessibility_concerns_format
end

#amp_api_tokenString?

Gets the value for the ‘ampApiToken’ attribute defined in continuum.json. The AMP API token of the user to use to authenticate any requests to AMP that require authentication, e.g. creating/editing reports in AMP from Continuum as part of submitting test results from Continuum to AMP. Set to null if you don’t want to take advantage of this functionality.

Returns:

  • (String, nil)

    The value for the ‘ampApiToken’ attribute defined in continuum.json



59
60
61
# File 'src/lib/continuum/configuration.rb', line 59

def amp_api_token
  @amp_api_token
end

#amp_instance_urlString?

Gets the value for the ‘ampInstanceUrl’ attribute defined in continuum.json. The URL to the desired AMP instance from which to pull best practice data from.

Returns:

  • (String, nil)

    The value for the ‘ampInstanceUrl’ attribute defined in continuum.json



25
26
27
# File 'src/lib/continuum/configuration.rb', line 25

def amp_instance_url
  @amp_instance_url
end

#default_standard_idsArray<Integer>?

Gets the set of IDs implied from the value of the ‘defaultStandardIds’ attribute defined in continuum.json as a comma-delimited array of IDs of the accessibility standards to test for by default Set the value of the ‘defaultStandardIds’ attribute in continuum.json to null to not filter by any accessibility standards by default.

Returns:

  • (Array<Integer>, nil)

    The set of IDs implied from the value of the ‘defaultStandardIds’ attribute defined in continuum.json



33
34
35
# File 'src/lib/continuum/configuration.rb', line 33

def default_standard_ids
  @default_standard_ids
end

#include_potential_accessibility_concernsBoolean

Gets the value for the ‘accessibilityConcerns.includePotentialConcerns’ attribute defined in continuum.json. Used to determine whether or not accessibility concerns that require manual review are returned in any of Continuum’s test results. If enabled, any accessibility concerns that require manual review will have AccessibilityConcern#needs_review return true. This setting can be toggled programmatically using Continuum.include_potential_accessibility_concerns, overriding this value specified in continuum.json. When the ‘accessibilityConcerns.includePotentialConcerns’ attribute is not defined, this setting would fallback to the value of the ‘includePotentialAccessibilityConcerns’ attribute defined in continuum.json.

Returns:

  • (Boolean)

    The value for the ‘includePotentialAccessibilityConcerns’ attribute defined in continuum.json



44
45
46
# File 'src/lib/continuum/configuration.rb', line 44

def include_potential_accessibility_concerns
  @include_potential_accessibility_concerns
end

#level_access_platform_configurationLevelAccessPlatform?

Gets the configuration specific to integration with Level Access Platform in Continuum represented by the ‘levelAccessPlatform’ object defined in continuum.json.

Returns:

  • (LevelAccessPlatform, nil)

    The configuration specific to integration with Level Access Platform in Continuum represented by the ‘levelAccessPlatform’ object defined in continuum.json



71
72
73
# File 'src/lib/continuum/configuration.rb', line 71

def level_access_platform_configuration
  @level_access_platform_configuration
end

#proxy_configurationProxy?

Gets the proxy-specific configuration in Continuum represented by the ‘proxy’ object defined in continuum.json.

Returns:

  • (Proxy, nil)

    The proxy-specific configuration in Continuum represented by the ‘proxy’ object defined in continuum.json



64
65
66
# File 'src/lib/continuum/configuration.rb', line 64

def proxy_configuration
  @proxy_configuration
end

Instance Method Details

#is_pro_edition?Boolean

Returns ‘true` if this is a professional edition of Continuum, `false` otherwise.

Returns:

  • (Boolean)

    Returns ‘true` if this is a professional edition of Continuum, `false` otherwise.



99
100
101
# File 'src/lib/continuum/configuration.rb', line 99

def is_pro_edition?
  return 'professional' == access_engine_type
end