Class: Conjur::Id

Inherits:
Object
  • Object
show all
Defined in:
lib/conjur/id.rb

Overview

Encapsulates a Conjur id, which consists of account, kind, and identifier.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id) ⇒ Id

Returns a new instance of Id.



27
28
29
# File 'lib/conjur/id.rb', line 27

def initialize id
  @id = id
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



25
26
27
# File 'lib/conjur/id.rb', line 25

def id
  @id
end

Instance Method Details

#==(other) ⇒ Object

Defines id equivalence using the string representation.



40
41
42
43
44
45
46
# File 'lib/conjur/id.rb', line 40

def == other
  if other.is_a?(String)
    to_s == other
  else
    super
  end
end

#accountObject

The organization account, obtained from the first component of the id.



32
# File 'lib/conjur/id.rb', line 32

def ; id.split(':', 3)[0]; end

#as_json(options = {}) ⇒ String

Returns the id string.

Returns:

  • (String)

    the id string.



49
50
51
# File 'lib/conjur/id.rb', line 49

def as_json options={}
  @id
end

#identifierObject

The object identifier, obtained from the third component of the id. The identifier must be unique within the account and kind.



37
# File 'lib/conjur/id.rb', line 37

def identifier; id.split(':', 3)[2]; end

#kindObject

The object kind, obtained from the second component of the id.



34
# File 'lib/conjur/id.rb', line 34

def kind; id.split(':', 3)[1]; end

#to_sString

Returns the id string.

Returns:

  • (String)

    the id string



59
60
61
# File 'lib/conjur/id.rb', line 59

def to_s
  id
end

#to_url_pathObject

Splits the id into 3 components, and then joins them with a forward-slash /.



54
55
56
# File 'lib/conjur/id.rb', line 54

def to_url_path
  id.split(':', 3).join('/')
end