lib/gds_api.rb
require 'plek' require 'gds_api/asset_manager' require 'gds_api/calendars' require 'gds_api/content_store' require 'gds_api/email_alert_api' require 'gds_api/imminence' require 'gds_api/licence_application' require 'gds_api/link_checker_api' require 'gds_api/local_links_manager' require 'gds_api/mapit' require 'gds_api/maslow' require 'gds_api/organisations' require 'gds_api/publishing_api' require 'gds_api/publishing_api_v2' require 'gds_api/router' require 'gds_api/rummager' require 'gds_api/support' require 'gds_api/support_api' require 'gds_api/worldwide' # @api documented module GdsApi # Creates a GdsApi::AssetManager adapter # # This will set a bearer token if a ASSET_MANAGER_BEARER_TOKEN environment # variable is set # # @return [GdsApi::AssetManager] def self.asset_manager(options = {}) GdsApi::AssetManager.new( Plek.find('asset-manager'), { bearer_token: ENV['ASSET_MANAGER_BEARER_TOKEN'] }.merge(options) ) end # Creates a GdsApi::Calendars adapter # # @return [GdsApi::Calendars] def self.calendars(options = {}) GdsApi::Calendars.new(Plek.find('calendars'), options) end # Creates a GdsApi::ContentStore adapter # # @return [GdsApi::ContentStore] def self.content_store(options = {}) GdsApi::ContentStore.new(Plek.find('content-store'), options) end # Creates a GdsApi::EmailAlertApi adapter # # This will set a bearer token if a EMAIL_ALERT_API_BEARER_TOKEN environment # variable is set # # @return [GdsApi::EmailAlertApi] def self.email_alert_api(options = {}) GdsApi::EmailAlertApi.new( Plek.find('email-alert-api'), { bearer_token: ENV['EMAIL_ALERT_API_BEARER_TOKEN'] }.merge(options) ) end # Creates a GdsApi::Imminence adapter # # @return [GdsApi::Imminence] def self.imminence(options = {}) GdsApi::Imminence.new(Plek.find('imminence'), options) end # Creates a GdsApi::LicenceApplication # # @return [GdsApi::LicenceApplication] def self.licence_application(options = {}) GdsApi::LicenceApplication.new(Plek.find('licensify'), options) end # Creates a GdsApi::LinkCheckerApi adapter # # @return [GdsApi::LinkCheckerApi] def self.link_checker_api(options = {}) GdsApi::LinkCheckerApi.new(Plek.find('link-checker-api'), options) end # Creates a GdsApi::LocalLinksManager adapter # # @return [GdsApi::LocalLinksManager] def self.local_links_manager(options = {}) GdsApi::LocalLinksManager.new(Plek.find('local-links-manager'), options) end # Creates a GdsApi::Mapit adapter # # @return [GdsApi::Mapit] def self.mapit(options = {}) GdsApi::Mapit.new(Plek.find('mapit'), options) end # Creates a GdsApi::Maslow adapter # # It's set to use an external url as an endpoint as the Maslow adapter is # used to generate external links # # @return [GdsApi::Maslow] def self.maslow(options = {}) GdsApi::Maslow.new(Plek.new.external_url_for('maslow'), options) end # Creates a GdsApi::Organisations adapter for accessing Whitehall APIs on a # whitehall-admin host # # @return [GdsApi::Organisations] def self.organisations(options = {}) GdsApi::Organisations.new(Plek.find('whitehall-admin'), options) end # Creates a GdsApi::PublishingApi adapter # # This will set a bearer token if a PUBLISHING_API_BEARER_TOKEN environment # variable is set # # @return [GdsApi::PublishingApi] def self.publishing_api(options = {}) GdsApi::PublishingApi.new( Plek.find('publishing-api'), { bearer_token: ENV['PUBLISHING_API_BEARER_TOKEN'] }.merge(options) ) end # Creates a GdsApi::PublishingApiV2 adapter # # This will set a bearer token if a PUBLISHING_API_BEARER_TOKEN environment # variable is set # # @return [GdsApi::PublishingApiV2] def self.publishing_api_v2(options = {}) GdsApi::PublishingApiV2.new( Plek.find('publishing-api'), { bearer_token: ENV['PUBLISHING_API_BEARER_TOKEN'] }.merge(options) ) end # Creates a GdsApi::Router adapter for communicating with Router API # # @return [GdsApi::Router] def self.router(options = {}) GdsApi::Router.new(Plek.find('router-api'), options) end # Creates a GdsApi::Rummager adapter to access via a rummager.* hostname # # @return [GdsApi::Rummager] def self.rummager(options = {}) GdsApi::Rummager.new(Plek.find('rummager'), options) end # Creates a GdsApi::Rummager adapter to access via a search.* hostname # # @return [GdsApi::Rummager] def self.search(options = {}) GdsApi::Rummager.new(Plek.find('search'), options) end # Creates a GdsApi::Support adapter # # @return [GdsApi::Support] def self.support(options = {}) GdsApi::Support.new(Plek.find('support'), options) end # Creates a GdsApi::SupportApi adapter # # @return [GdsApi::SupportApi] def self.support_api(options = {}) GdsApi::SupportApi.new(Plek.find('support-api'), options) end # Creates a GdsApi::Worldwide adapter for accessing Whitehall APIs on a # whitehall-admin host # # @return [GdsApi::Worldwide] def self.worldwide(options = {}) GdsApi::Worldwide.new(Plek.find('whitehall-admin'), options) end end