Module: PDC

Defined in:
lib/pdc/config.rb,
lib/pdc.rb,
lib/pdc/v1.rb,
lib/pdc/base.rb,
lib/pdc/http.rb,
lib/pdc/errors.rb,
lib/pdc/logger.rb,
lib/pdc/version.rb,
lib/pdc/v1/release.rb,
lib/pdc/http/errors.rb,
lib/pdc/http/request.rb,
lib/pdc/resource/errors.rb,
lib/pdc/v1/content_delivery_repo.rb,
lib/pdc/http/request/append_slash.rb,
lib/pdc/http/response/raise_error.rb

Overview

rubocop:disable ModuleLength

Defined Under Namespace

Modules: Http, Logging, Request, Resource, Response, V1 Classes: Base, Config, ConfigError, Error, InvalidPathError, JsonError, JsonParseError, MultipleResultsError, ResourceNotFound, ResponseError, TokenFetchFailed

Constant Summary collapse

VERSION =
'0.1.9'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject



7
8
9
10
11
# File 'lib/pdc/logger.rb', line 7

def logger
  @logger ||= ::Logger.new($stdout).tap do |log|
    log.progname = name
  end
end

Class Method Details

.api_urlObject



86
87
88
# File 'lib/pdc/config.rb', line 86

def api_url
  URI.join(config.site, config.api_root)
end

.configObject



72
73
74
# File 'lib/pdc/config.rb', line 72

def config
  @config ||= Config.new
end

.config=(new_config) ⇒ Object



76
77
78
79
80
# File 'lib/pdc/config.rb', line 76

def config=(new_config)
  @config = new_config
  apply_config
  @config
end

.configureObject



61
62
63
64
65
66
67
68
69
70
# File 'lib/pdc/config.rb', line 61

def configure
  @config = Config.new
  begin
    yield(@config) if block_given?
  rescue NoMethodError => e
    raise ConfigError, e
  end

  apply_config
end

.tokenObject



90
91
92
93
# File 'lib/pdc/config.rb', line 90

def token
  return unless config.requires_token
  config.token || Request::TokenFetcher.fetch
end

.token_urlObject



82
83
84
# File 'lib/pdc/config.rb', line 82

def token_url
  URI.join(api_url, config.token_obtain_path)
end