Class: DTK::DSL::QualifiedKey

Inherits:
Object
  • Object
show all
Defined in:
lib/dsl/qualified_key.rb

Defined Under Namespace

Classes: Element

Constant Summary collapse

QUALIFIED_KEY_DELIM =
'/'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(elements_to_copy = []) ⇒ QualifiedKey

Returns a new instance of QualifiedKey.



24
25
26
# File 'lib/dsl/qualified_key.rb', line 24

def initialize(elements_to_copy = [])
  @key_elements = copy(elements_to_copy)
end

Instance Attribute Details

#key_elementsObject (readonly)

Returns the value of attribute key_elements.



21
22
23
# File 'lib/dsl/qualified_key.rb', line 21

def key_elements
  @key_elements
end

Instance Method Details

#create_with_new_element?(type, key) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
# File 'lib/dsl/qualified_key.rb', line 28

def create_with_new_element?(type, key)
  new_key_elements = key.nil? ? @key_elements : @key_elements + [Element.new(type, key)]
  self.class.new(new_key_elements)
end


34
35
36
37
38
# File 'lib/dsl/qualified_key.rb', line 34

def print_form
  @key_elements.inject('') do |s, el|
    s.empty? ? el.key : s + QUALIFIED_KEY_DELIM + el.key
  end
end

#relative_distinguished_nameObject



40
41
42
43
44
45
# File 'lib/dsl/qualified_key.rb', line 40

def relative_distinguished_name
  unless last = @key_elements.last
    fail Error, "Unexpected that @key_elements is empty" 
  end
  last.key
end