Method: ROF::Access.decode

Defined in:
lib/rof/access.rb

.decode(access_string, owner = nil) ⇒ Object

convert from a string to a hash



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rof/access.rb', line 9

def self.decode(access_string, owner=nil)
  result = {}
  access_string.split(";").each do |clause|
    t = self.decode_clause(clause, owner)
    t.each do |k,v|
      if v.is_a?(Array)
        result[k] = (result.fetch(k, []) + v).uniq
      else
        result[k] = v
      end
    end
  end

  result
end