134: def initialize(name, line, file)
135: @methods = []
136: @environment = []
137: @authentication = true
138: @name = name
139: @line = line || 0
140: @file = file
141:
142: case name
143: when Symbol
144: @acl_type = :name
145: @key = name
146: when /^\[(.+)\]$/
147: @acl_type = :name
148: @key = $1.intern if name.is_a?(String)
149: when /^\//
150: @acl_type = :regex
151: @key = Regexp.new("^" + Regexp.escape(name))
152: @methods = ALL
153: when /^~/
154: @acl_type = :regex
155: @name = name.gsub(/^~\s+/,'')
156: @key = Regexp.new(@name)
157: @methods = ALL
158: else
159: raise ArgumentError, "Unknown right type '%s'" % name
160: end
161: super()
162: end