Class: GdsApi::Base
- Inherits:
-
Object
show all
- Extended by:
- Forwardable
- Defined in:
- lib/gds_api/base.rb
Direct Known Subclasses
AssetManager, Calendars, ContentStore, EmailAlertApi, Imminence, LicenceApplication, LinkCheckerApi, LocalLinksManager, Mapit, Maslow, Organisations, PerformancePlatform::DataIn, PerformancePlatform::DataOut, PublishingApi, Router, Search, Support, SupportApi, Worldwide
Defined Under Namespace
Classes: InvalidAPIURL
Class Attribute Summary collapse
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(endpoint_url, options = {}) ⇒ Base
Returns a new instance of Base.
42
43
44
45
46
47
48
49
50
|
# File 'lib/gds_api/base.rb', line 42
def initialize(endpoint_url, options = {})
options[:endpoint_url] = endpoint_url
raise InvalidAPIURL unless endpoint_url =~ URI::RFC3986_Parser::RFC3986_URI
base_options = { logger: GdsApi::Base.logger }
default_options = base_options.merge(GdsApi::Base.default_options || {})
@options = default_options.merge(options)
self.endpoint = options[:endpoint_url]
end
|
Class Attribute Details
.default_options ⇒ Object
35
36
37
|
# File 'lib/gds_api/base.rb', line 35
def default_options
@default_options
end
|
.logger ⇒ Object
38
39
40
|
# File 'lib/gds_api/base.rb', line 38
def self.logger
@logger ||= NullLogger.instance
end
|
Instance Attribute Details
#options ⇒ Object
31
32
33
|
# File 'lib/gds_api/base.rb', line 31
def options
@options
end
|
Instance Method Details
#client ⇒ Object
13
14
15
|
# File 'lib/gds_api/base.rb', line 13
def client
@client ||= create_client
end
|
#create_client ⇒ Object
17
18
19
|
# File 'lib/gds_api/base.rb', line 17
def create_client
GdsApi::JsonClient.new(options)
end
|
#get_list(url) ⇒ Object
56
57
58
59
60
|
# File 'lib/gds_api/base.rb', line 56
def get_list(url)
get_json(url) do |r|
GdsApi::ListResponse.new(r, self)
end
end
|
#url_for_slug(slug, options = {}) ⇒ Object
52
53
54
|
# File 'lib/gds_api/base.rb', line 52
def url_for_slug(slug, options = {})
"#{base_url}/#{slug}.json#{query_string(options)}"
end
|