Class: Buildr::ArtifactNamespace::Registry

Inherits:
Hash show all
Includes:
DClone
Defined in:
lib/buildr/packaging/artifact_namespace.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DClone

#dclone

Methods inherited from Hash

#except, from_java_properties, #only, #to_java_properties

Instance Attribute Details

#parentObject

Returns the value of attribute parent.



316
317
318
# File 'lib/buildr/packaging/artifact_namespace.rb', line 316

def parent
  @parent
end

Instance Method Details

#[]=(key, value) ⇒ Object



338
339
340
341
# File 'lib/buildr/packaging/artifact_namespace.rb', line 338

def []=(key, value)
  return unless key
  super(key.to_sym, value)
end

#alias(new_name, old_name) ⇒ Object



317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'lib/buildr/packaging/artifact_namespace.rb', line 317

def alias(new_name, old_name)
  new_name = new_name.to_sym
  old_name = old_name.to_sym
  if obj = get(old_name, true)
    self[new_name] = obj
    @aliases ||= []
    group = @aliases.find { |a| a.include?(new_name) }
    group.delete(new_name) if group
    group = @aliases.find { |a| a.include?(old_name) }
    @aliases << (group = [old_name]) unless group
    group << new_name unless group.include?(new_name)
  end
  obj
end

#aliases(name) ⇒ Object



332
333
334
335
336
# File 'lib/buildr/packaging/artifact_namespace.rb', line 332

def aliases(name)
  return [] unless name
  name = name.to_sym
  ((@aliases ||= []).find { |a| a.include?(name) } || [name]).dup
end

#delete(key, include_parent = nil) ⇒ Object



361
362
363
# File 'lib/buildr/packaging/artifact_namespace.rb', line 361

def delete(key, include_parent = nil)
  aliases(key).map {|n| super(n) } && include_parent && parent && parent.delete(key, include_parent)
end

#get(key, include_parent = nil) ⇒ Object



343
344
345
346
# File 'lib/buildr/packaging/artifact_namespace.rb', line 343

def get(key, include_parent = nil)
  [].tap { |a| aliases(key).select { |n| a[0] = self[n] } }.first ||
    (include_parent && parent && parent.get(key, include_parent))
end

#key?(key, include_parent = nil) ⇒ Boolean

Returns:

  • (Boolean)


356
357
358
359
# File 'lib/buildr/packaging/artifact_namespace.rb', line 356

def key?(key, include_parent = nil)
  return false unless key
  super(key.to_sym) || (include_parent && parent && parent.key?(key, include_parent))
end

#keys(include_parent = nil) ⇒ Object



348
349
350
# File 'lib/buildr/packaging/artifact_namespace.rb', line 348

def keys(include_parent = nil)
  (super() | (include_parent && parent && parent.keys(include_parent) || [])).uniq
end

#values(include_parent = nil) ⇒ Object



352
353
354
# File 'lib/buildr/packaging/artifact_namespace.rb', line 352

def values(include_parent = nil)
  (super() | (include_parent && parent && parent.values(include_parent) || [])).uniq
end