Module: PubliSci::Metadata::DSL

Included in:
Instance
Defined in:
lib/publisci/dsl/metadata_dsl.rb

Defined Under Namespace

Classes: Instance

Instance Method Summary collapse

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_n3Object



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