Module: PubliSci::Metadata::DSL
- Included in:
- Instance
- Defined in:
- lib/bio-publisci/dsl/metadata_dsl.rb
Defined Under Namespace
Classes: Instance
Instance Method Summary collapse
- #creator(id = nil) ⇒ Object (also: #name)
- #description(desc = nil) ⇒ Object
- #generate_n3 ⇒ Object
- #publishers(pub = nil, &block) ⇒ Object (also: #publisher)
- #title(desc = nil) ⇒ Object
- #topic(sub = nil) ⇒ Object
- #var(name = nil) ⇒ Object (also: #dataset)
Instance Method Details
#creator(id = nil) ⇒ Object Also known as: name
18 19 20 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 18 def creator(id=nil) set_or_get('creator',id) end |
#description(desc = nil) ⇒ Object
23 24 25 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 23 def description(desc=nil) set_or_get('description',desc) end |
#generate_n3 ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 47 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) ⇒ Object Also known as: publisher
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 35 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 |
#title(desc = nil) ⇒ Object
27 28 29 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 27 def title(desc=nil) set_or_get('title',desc) end |
#topic(sub = nil) ⇒ Object
31 32 33 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 31 def topic(sub=nil) add_or_get('topic',sub) end |
#var(name = nil) ⇒ Object Also known as: dataset
13 14 15 |
# File 'lib/bio-publisci/dsl/metadata_dsl.rb', line 13 def var(name=nil) set_or_get('var',name) end |