Module: PubliSci::DSL

Defined in:
lib/bio-publisci/dsl/dsl.rb,
lib/bio-publisci/dsl/config.rb

Defined Under Namespace

Classes: Configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#base_urlObject

Returns the value of attribute base_url.



3
4
5
# File 'lib/bio-publisci/dsl/dsl.rb', line 3

def base_url
  @base_url
end

Instance Method Details

#configurationObject



33
34
35
# File 'lib/bio-publisci/dsl/dsl.rb', line 33

def configuration
  @_dsl_config ||= DSL::Configuration.new
end

#configure {|configuration| ... } ⇒ Object

Yields:



37
38
39
# File 'lib/bio-publisci/dsl/dsl.rb', line 37

def configure
  yield configuration
end

#data(&block) ⇒ Object



12
13
14
15
16
17
# File 'lib/bio-publisci/dsl/dsl.rb', line 12

def data(&block)
  inst=PubliSci::Dataset::DSL::Instance.new
  inst.instance_eval(&block)
  @_dsl_data ||= [] << inst
  inst
end

#generate_n3Object



45
46
47
48
49
50
51
# File 'lib/bio-publisci/dsl/dsl.rb', line 45

def generate_n3
  out = ""
  @_dsl_data.each{|dat| out << dat.generate_n3 } if @_dsl_data
  out << @_dsl_metadata.generate_n3 if @_dsl_metadata
  out << @_dsl_prov.generate_n3 if @_dsl_prov
  out
end

#metadata(&block) ⇒ Object



19
20
21
22
23
24
# File 'lib/bio-publisci/dsl/dsl.rb', line 19

def (&block)
  inst=PubliSci::Metadata::DSL::Instance.new
  inst.instance_eval(&block)
  @_dsl_metadata = inst
  inst
end

#provenance(&block) ⇒ Object



26
27
28
29
30
31
# File 'lib/bio-publisci/dsl/dsl.rb', line 26

def provenance(&block)
  inst=PubliSci::Prov::DSL::Instance.new
  inst.instance_eval(&block)
  @_dsl_prov = inst
  inst
end

#settingsObject



41
42
43
# File 'lib/bio-publisci/dsl/dsl.rb', line 41

def settings
  configuration
end

#to_repository(turtle_string = generate_n3) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/bio-publisci/dsl/dsl.rb', line 53

def to_repository(turtle_string=generate_n3)
  repo = settings.repository
  case repo
  when :in_memory
    repo = RDF::Repository.new
  when :fourstore
    repo = RDF::FourStore::Repository.new('http://localhost:8080')
  end
  f=Tempfile.new(['repo','.ttl'])
  f.write(turtle_string)
  f.close
  repo.load(f.path, :format => :ttl).to_s
  f.unlink
  repo
end