module PubliSci::Metadata::DSL
Public Instance Methods
creator(id=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 18 def creator(id=nil) set_or_get('creator',id) end
Also aliased as: name
date(d=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 35 def date(d=nil) add_or_get('date',d) end
description(desc=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 23 def description(desc=nil) set_or_get('description',desc) end
generate_n3()
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 51 def generate_n3 opts = {} %w{var creator description title}.each{|field| opts[field.to_sym] = send(field.to_sym) if send(field.to_sym) } opts[:subject] = topic if topic publishers.each{|pub| opts[:publishers] ||= [] << {label: pub.label, uri: pub.uri} } if publishers gen = Class.new {include PubliSci::Metadata::Generator} gen.new.basic(opts) end
publishers(pub=nil,&block)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 39 def publishers(pub=nil,&block) if block_given? p = Publisher.new p.instance_eval(&block) @publishers ||= [] << p p else add_or_get('publishers',pub) end end
Also aliased as: publisher
title(desc=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 27 def title(desc=nil) set_or_get('title',desc) end
topic(sub=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 31 def topic(sub=nil) add_or_get('topic',sub) end
var(name=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 13 def var(name=nil) set_or_get('var',name) end
Also aliased as: dataset
Private Instance Methods
add_or_get(var,input)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 76 def add_or_get(var,input) ivar = instance_variable_get("@#{var}") if input instance_variable_set("@#{var}", []) unless ivar instance_variable_get("@#{var}") << input instance_variable_get("@#{var}") else ivar end end
set_or_get(var,input=nil)
click to toggle source
# File lib/publisci/dsl/metadata_dsl.rb, line 66 def set_or_get(var,input=nil) ivar = instance_variable_get("@#{var}") if input instance_variable_set("@#{var}", input) else ivar end end