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.



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

def parent
  @parent
end

Instance Method Details

#[]=(key, value) ⇒ Object



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

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

#alias(new_name, old_name) ⇒ Object



339
340
341
342
343
344
345
346
347
348
349
350
351
352
# File 'lib/buildr/packaging/artifact_namespace.rb', line 339

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



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

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



383
384
385
# File 'lib/buildr/packaging/artifact_namespace.rb', line 383

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



365
366
367
368
# File 'lib/buildr/packaging/artifact_namespace.rb', line 365

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)


378
379
380
381
# File 'lib/buildr/packaging/artifact_namespace.rb', line 378

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



370
371
372
# File 'lib/buildr/packaging/artifact_namespace.rb', line 370

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

#values(include_parent = nil) ⇒ Object



374
375
376
# File 'lib/buildr/packaging/artifact_namespace.rb', line 374

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