class ROBundle::Agent
A class to represent an agent in a Research Object. An agent can be, for example, a person or software.
Public Class Methods
          
            new(name, uri = nil, orcid = nil)
          
          
          click to toggle source
          
        
        
        
        Create a new Agent with the supplied details. If
uri or orcid are not absolute URIs then they are
set to nil.
# File lib/ro-bundle/ro/agent.rb, line 21 def initialize(first, uri = nil, orcid = nil) if first.instance_of?(Hash) name = first[:name] uri = first[:uri] orcid = first[:orcid] else name = first end @structure = { :name => name, :uri => Util.is_absolute_uri?(uri) ? uri.to_s : nil, :orcid => Util.is_absolute_uri?(orcid) ? orcid.to_s : nil } end
Public Instance Methods
          
            name → string
          
          
          click to toggle source
          
        
        
        
        The name of this agent.
# File lib/ro-bundle/ro/agent.rb, line 41 def name @structure[:name] end
          
            orcid → URI
          
          
          click to toggle source
          
        
        
        
        An ORCID identifier URI for this agent.
# File lib/ro-bundle/ro/agent.rb, line 58 def orcid @structure[:orcid] end
          
            to_json(options = nil) → String
          
          
          click to toggle source
          
        
        
        
        Write this Agent out as a json string. Takes the same options as JSON#generate.
# File lib/ro-bundle/ro/agent.rb, line 67 def to_json(*a) Util.clean_json(@structure).to_json(*a) end
          
            uri → URI
          
          
          click to toggle source
          
        
        
        
        A URI identifying the agent. This should, if it exists, be a WebID.
# File lib/ro-bundle/ro/agent.rb, line 50 def uri @structure[:uri] end