Module: PDC

Defined in:
lib/pdc.rb,
lib/pdc/v1.rb,
lib/pdc/base.rb,
lib/pdc/http.rb,
lib/pdc/config.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/http/request/append_slash.rb,
lib/pdc/http/response/raise_error.rb

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.0'

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



88
89
90
# File 'lib/pdc/config.rb', line 88

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

.configObject



74
75
76
# File 'lib/pdc/config.rb', line 74

def config
  @config ||= Config.new
end

.config=(new_config) ⇒ Object



78
79
80
81
82
# File 'lib/pdc/config.rb', line 78

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

.configureObject



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

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

  apply_config
end

.tokenObject



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

def token
  config.token || fetch_token
end

.token_urlObject



84
85
86
# File 'lib/pdc/config.rb', line 84

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