Class: Buildr::ArtifactNamespace::Registry
- Includes:
- DClone
- Defined in:
- lib/buildr/packaging/artifact_namespace.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#parent ⇒ Object
Returns the value of attribute parent.
Instance Method Summary collapse
- #[]=(key, value) ⇒ Object
- #alias(new_name, old_name) ⇒ Object
- #aliases(name) ⇒ Object
- #delete(key, include_parent = nil) ⇒ Object
- #get(key, include_parent = nil) ⇒ Object
- #key?(key, include_parent = nil) ⇒ Boolean
- #keys(include_parent = nil) ⇒ Object
- #values(include_parent = nil) ⇒ Object
Methods included from DClone
Instance Attribute Details
#parent ⇒ Object
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
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 |