class Artifactory::Resource::PermissionTarget::Principal
Attributes
groups[RW]
users[RW]
Public Class Methods
new(users = {}, groups = {})
click to toggle source
# File lib/artifactory/resources/permission_target.rb, line 100 def initialize(users = {}, groups = {}) @users = users @groups = groups end
Public Instance Methods
to_abbreviated()
click to toggle source
Converts the user-friendly form of the principals hash to one suitable for posting to Artifactory
. @return [Hash]
# File lib/artifactory/resources/permission_target.rb, line 110 def to_abbreviated { "users" => abbreviate_principal(@users), "groups" => abbreviate_principal(@groups) } end
Private Instance Methods
abbreviate_permissions(array)
click to toggle source
Replace an array of verbose permission names with an equivalent array of abbreviated permission names.
# File lib/artifactory/resources/permission_target.rb, line 119 def abbreviate_permissions(array) inverse = VERBOSE_PERMS.invert if (inverse.keys & array).sort != array.sort raise "One of your principals contains an invalid permission. Valid permissions are #{inverse.keys.join(", ")}" end array.map { |elt| inverse[elt] }.sort end
abbreviate_principal(principal_hash)
click to toggle source
Replace a principal with verbose permissions with an equivalent one with abbreviated permissions.
# File lib/artifactory/resources/permission_target.rb, line 131 def abbreviate_principal(principal_hash) Hash[principal_hash.map { |k, v| [k, abbreviate_permissions(v)] } ] end