-
Notifications
You must be signed in to change notification settings - Fork 30
/
qa.rb
53 lines (39 loc) · 1.53 KB
/
qa.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
require "qa/engine"
require "active_record"
require "activerecord-import"
module Qa
extend ActiveSupport::Autoload
autoload :Authorities
autoload :Configuration
autoload :Services
# @api public
#
# Exposes the Questioning Authority configuration
#
# @yield [Qa::Configuration] if a block is passed
# @return [Qa::Configuration]
# @see Qa::Configuration for configuration options
def self.config(&block)
@config ||= Qa::Configuration.new
yield @config if block
@config
end
# Raised when the configuration directory for local authorities doesn't exist
class ConfigDirectoryNotFound < StandardError; end
# Raised when a subauthority is not passed into an authority
class MissingSubAuthority < ArgumentError; end
# Raised when a subauthority is not valid
class InvalidSubAuthority < ArgumentError; end
# Raised when a request is made to a non-configured linked data authority
class InvalidLinkedDataAuthority < ArgumentError; end
# Raised when a response is in an unsupported format
class UnsupportedFormat < ArgumentError; end
# Raised when a configuration parameter is incorrect or is required and missing
class InvalidConfiguration < ArgumentError; end
# Raised when a linked data request to a server returns a 503 error
class ServiceUnavailable < ArgumentError; end
# Raised when a linked data request to a server returns a 500 error
class ServiceError < ArgumentError; end
# Raised when the server returns 404 for a find term request
class TermNotFound < ArgumentError; end
end