class NexusAPI::ParameterBuilder
Public Class Methods
docker_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 3 def self.docker_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'docker' => { 'v1Enabled' => false, 'forceBasicAuth' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
docker_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 19 def self.docker_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] }, 'docker' => { 'v1Enabled' => false, 'forceBasicAuth' => true } } apply_changes(default: default_options, override: options, name: name) end
docker_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 38 def self.docker_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true }, 'docker' => { 'v1Enabled' => false, 'forceBasicAuth' => true }, 'dockerProxy' => { 'indexType' => 'REGISTRY' } } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
maven_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 68 def self.maven_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
maven_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 80 def self.maven_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] }, 'maven' => { 'versionPolicy' => 'RELEASE', 'layoutPolicy' => 'STRICT' } } apply_changes(default: default_options, override: options, name: name) end
maven_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 99 def self.maven_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'cleanup' => { 'policyNames' => [] }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true, }, 'maven' => { 'versionPolicy' => 'RELEASE', 'layoutPolicy' => 'STRICT' } } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
npm_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 129 def self.npm_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
npm_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 141 def self.npm_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] } } apply_changes(default: default_options, override: options, name: name) end
npm_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 156 def self.npm_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'cleanup' => { 'policyNames' => [] }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true, }, } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
pypi_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 182 def self.pypi_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
pypi_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 194 def self.pypi_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] } } apply_changes(default: default_options, override: options, name: name) end
pypi_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 209 def self.pypi_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'cleanup' => { 'policyNames' => [] }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true, }, } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
raw_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 235 def self.raw_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
raw_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 247 def self.raw_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] } } apply_changes(default: default_options, override: options, name: name) end
raw_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 262 def self.raw_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'cleanup' => { 'policyNames' => [] }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true, } } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
rubygems_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 288 def self.rubygems_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
rubygems_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 300 def self.rubygems_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] } } apply_changes(default: default_options, override: options, name: name) end
rubygems_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 315 def self.rubygems_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'cleanup' => { 'policyNames' => [] }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true, }, } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
yum_group(name, members, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 341 def self.yum_group(name, members, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'group' => {} } apply_changes(default: default_options, override: options, name: name, members: members) end
yum_hosted(name, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 353 def self.yum_hosted(name, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true, 'writePolicy' => 'allow_once' }, 'cleanup' => { 'policyNames' => [] }, 'yum' => { 'repodataDepth' => 3, 'deployPolicy' => 'STRICT' } } apply_changes(default: default_options, override: options, name: name) end
yum_proxy(name, remote_url, options)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 372 def self.yum_proxy(name, remote_url, options) default_options = { 'online' => true, 'storage' => { 'blobStoreName' => 'default', 'strictContentTypeValidation' => true }, 'cleanup' => { 'policyNames' => [] }, 'proxy' => { 'contentMaxAge' => 1440, 'metadataMaxAge' => 1440 }, 'negativeCache' => { 'enabled' => true, 'timeToLive' => 1440 }, 'httpClient' => { 'blocked' => false, 'autoBlock' => true, }, } apply_changes(default: default_options, override: options, name: name, url: remote_url) end
Private Class Methods
apply_changes(default:, override:, name:, url: nil, members: nil)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 424 def self.apply_changes(default:, override:, name:, url: nil, members: nil) options = deep_merge(default, override) options['name'] = name options['proxy']['remoteUrl'] = url unless url.nil? options['group']['memberNames'] = members unless members.nil? return options end
deep_merge(default_hash, hash)
click to toggle source
# File lib/utilities/parameter_builder.rb, line 401 def self.deep_merge(default_hash, hash) full_hash = {} default_hash.each do |key, value| if hash[key].nil? full_hash[key] = value else if value.is_a?(Hash) full_hash[key] = deep_merge(value, hash[key]) else full_hash[key] = hash[key] end hash.delete(key) end end hash.each do |key, value| full_hash[key] = value end return full_hash end