app/models/hydra/access_controls/permission.rb in hydra-access-controls-10.3.2 vs app/models/hydra/access_controls/permission.rb in hydra-access-controls-10.3.3

- old
+ new

@@ -35,11 +35,11 @@ build_access(access) if access super(attrs) end def agent_name - parsed_agent.last + URI.decode(parsed_agent.last) end def access @access ||= mode.first.rdf_subject.to_s.split('#').last.downcase.sub('write', 'edit') end @@ -56,15 +56,19 @@ def build_agent(name, type) raise "Can't build agent #{inspect}" unless name && type self.agent = case type when 'group' - Agent.new(::RDF::URI.new("#{GROUP_AGENT_URL_PREFIX}##{name}")) + build_agent_resource(GROUP_AGENT_URL_PREFIX, name) when 'person' - Agent.new(::RDF::URI.new("#{PERSON_AGENT_URL_PREFIX}##{name}")) + build_agent_resource(PERSON_AGENT_URL_PREFIX, name) else raise ArgumentError, "Unknown agent type #{type.inspect}" end + end + + def build_agent_resource(prefix, name) + Agent.new(::RDF::URI.new("#{prefix}##{URI.encode(name)}")) end def build_access(access) raise "Can't build access #{inspect}" unless access self.mode = case access