From b01dce14f765875d7c75edb545323b444fa2b140 Mon Sep 17 00:00:00 2001 From: rautenberg Date: Tue, 10 Apr 2012 18:11:59 +0200 Subject: documentation for policy lib, seperate method to load default template xml --- lib/policy.rb | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/policy.rb b/lib/policy.rb index 56a90b7..3e7c143 100644 --- a/lib/policy.rb +++ b/lib/policy.rb @@ -58,7 +58,7 @@ module OpenTox when "guest", "anonymous" then "default_guest_policy" else "default_policy" end - xml = File.read(File.join(File.dirname(__FILE__), "templates/#{template}.xml")) + xml = get_xml_template(template) self.load_xml(xml) datestring = Time.now.strftime("%Y-%m-%d-%H-%M-%S-x") + rand(1000).to_s @@ -78,6 +78,10 @@ module OpenTox return true end + def get_xml_template(template) + File.read(File.join(File.dirname(__FILE__), "templates/#{template}.xml")) + end + #loads a xml template def load_xml(xml) rexml = REXML::Document.new(xml) @@ -247,19 +251,22 @@ module OpenTox end # helper method sets value and type to opentox LDAP Distinguished Name (DN) of a user + # @param [String]Username set a username into LDAP DN def set_ot_user(username) self.value = "uid=#{username},ou=people,dc=opentox,dc=org" self.type = "LDAPUsers" true end + # @param [String]Username set a groupname into LDAP DN def set_ot_group(groupname) self.value = "cn=#{groupname},ou=groups,dc=opentox,dc=org" self.type = "LDAPGroups" true end - #rule inside a policy + # policyrule + # sets the permission for REST actions (GET, POST, PUT, DELETE) of a specific URI to allow/deny/nil class Rule attr_accessor :name, :uri, :get, :post, :put, :delete, :read, :readwrite @@ -293,14 +300,18 @@ module OpenTox @put = check_value(value, @put) end + # read getter method def read return true if @get == "allow" && (@put == "deny" || !@put) && (@post == "deny" || !@post) end + # readwrite getter method def readwrite return true if @get == "allow" && @put == "allow" && @post == "allow" end + # Set(true case) or remove read(GET=allow) permissions. + # @param [Boolean]value (true,false) def read=(value) if value @get = "allow"; @put = nil; @post = nil @@ -309,6 +320,8 @@ module OpenTox end end + # Set(true case) or remove readwrite(GET=allow,POST=allow,PUT=allow) permissions. + # @param [Boolean]value (true,false) def readwrite=(value) if value @get = "allow"; @put = "allow"; @post = "allow" @@ -324,6 +337,8 @@ module OpenTox end end + # Subject of a policy + # name(subjectname), type('LDAPUsers' or 'LDAPGroups'), value(LDAP DN e.G.:'uid=guest,ou=people,dc=opentox,dc=org') class Subject attr_accessor :name, :type, :value -- cgit v1.2.3