module PubliSci::Prov::Dereferencable

Public Instance Methods

[](index) click to toggle source
# File lib/publisci/mixins/dereferencable.rb, line 19
def [](index)
  self.dereference.fetch(index)
  # if self.fetch(index).is_a? Symbol
  #   raise "UnknownEntity: #{self.fetch(index)}" unless Prov.entities[self.fetch(index)]
  #   Prov.entities[self.fetch(index)]
  # else
  #   self.fetch(index)
  # end
end
dereference() click to toggle source
# File lib/publisci/mixins/dereferencable.rb, line 4
def dereference
  self.map{|x|
    if x.is_a? Symbol
      raise "Unknown#{method.capitalize}: #{x}" unless Prov.registry[method.to_sym][x]
      Prov.registry[method.to_sym][x]
    else
      x
    end
  }
end
map_(&blk) click to toggle source
# File lib/publisci/mixins/dereferencable.rb, line 29
def map_(&blk)
  self.dereference.map(&blk)
end
method() click to toggle source
# File lib/publisci/mixins/dereferencable.rb, line 15
def method
  raise "must be overridden"
end