Module: PubliSci::Metadata::DSL
- Included in:
- Instance
- Defined in:
- lib/publisci/dsl/metadata_dsl.rb
Defined Under Namespace
Classes: Instance
Instance Method Summary collapse
- #creator(id = nil) ⇒ Object (also: #name)
- #date(d = nil) ⇒ Object
- #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/publisci/dsl/metadata_dsl.rb', line 18 def creator(id=nil) set_or_get('creator',id) end |
#date(d = nil) ⇒ Object
35 36 37 |
# File 'lib/publisci/dsl/metadata_dsl.rb', line 35 def date(d=nil) add_or_get('date',d) end |
#description(desc = nil) ⇒ Object
23 24 25 |
# File 'lib/publisci/dsl/metadata_dsl.rb', line 23 def description(desc=nil) set_or_get('description',desc) end |
#generate_n3 ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# 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) ⇒ Object Also known as: publisher
39 40 41 42 43 44 45 46 47 48 |
# 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 |
#title(desc = nil) ⇒ Object
27 28 29 |
# File 'lib/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/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/publisci/dsl/metadata_dsl.rb', line 13 def var(name=nil) set_or_get('var',name) end |