Sha256: 954fc99043ee51dab4a04ae0c236ef9ee15b5f343d51b5ea3740e18183ad98c7
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
module PubliSci module Prov class Derivation include PubliSci::CustomPredicate def subject(sub=nil) if sub @subject = sub else @subject ||= "#{Prov.base_url}/derivation/#{Time.now.nsec.to_s(32)}" end end def had_activity(activity=nil) if activity @had_activity = activity elsif @had_activity.is_a? Symbol raise "UnknownActivity #{@had_activity}" unless Prov.activities[@had_activity] @had_activity = Prov.activities[@had_activity] else @had_activity end end alias_method :activity, :had_activity def entity(entity=nil) if entity @entity = entity elsif @entity.is_a? Symbol raise "UnknownEntity #{@entity}" unless Prov.entities[@entity] @entity = Prov.entities[@entity] else @entity end end alias_method :data, :entity def to_n3 str = "<#{subject}> a prov:Derivation ;\n" str << "\tprov:entity <#{entity}> ;\n" if entity str << "\tprov:hadActivity <#{had_activity}> ;\n" if had_activity add_custom(str) str[-2] = ".\n" str end def to_s subject end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bio-publisci-0.0.6 | lib/bio-publisci/metadata/prov/derivation.rb |