Class: AceRule

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ace_id, ace, connector) ⇒ AceRule

Returns a new instance of AceRule.



8
9
10
11
12
13
14
# File 'lib/ace_rule.rb', line 8

def initialize(ace_id, ace, connector)
  @ace = ace
  @connector = connector
  reload!(ace_id)
rescue => e
  raise e
end

Instance Attribute Details

#acc_typeObject (readonly)

Returns the value of attribute acc_type.



6
7
8
# File 'lib/ace_rule.rb', line 6

def acc_type
  @acc_type
end

#prinObject (readonly)

Returns the value of attribute prin.



3
4
5
# File 'lib/ace_rule.rb', line 3

def prin
  @prin
end

#privObject (readonly)

Returns the value of attribute priv.



4
5
6
# File 'lib/ace_rule.rb', line 4

def priv
  @priv
end

#res_objObject (readonly)

Returns the value of attribute res_obj.



5
6
7
# File 'lib/ace_rule.rb', line 5

def res_obj
  @res_obj
end

Instance Method Details

#reload!(ace_id) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ace_rule.rb', line 16

def reload!(ace_id)
  query = "#{@ace.doc}//Ace[@id=\"#{ace_id}\"]/Principal/string(@idref)"
  handle = @connector.execute_query(query)
  @prin = @connector.retrieve(handle, 0)
  
  query = "#{@ace.doc}//Ace[@id=\"#{ace_id}\"]/Privilege/string(@idref)"
  handle = @connector.execute_query(query)
  @priv = @connector.retrieve(handle, 0)
  
  query = "#{@ace.doc}//Ace[@id=\"#{ace_id}\"]/ResourceObject/string(@idref)"
  handle = @connector.execute_query(query)
  @res_obj = @connector.retrieve(handle, 0)
  
  query = "#{@ace.doc}//Ace[@id=\"#{ace_id}\"]/accessType/text()"
  #puts query
  handle = @connector.execute_query(query)
  @acc_type = @connector.retrieve(handle, 0)
rescue => e
  raise e
end