class CiteProc::Ruby::Renderer::ItemObserver

Attributes

history[RW]
item[RW]

Public Class Methods

new(item, history = {}) click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 9
def initialize(item, history = {})
  @item, @history = item, history
end

Public Instance Methods

accessed() click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 33
def accessed
  history.select { |key, value| !value.nil? }.keys
end
clear!() click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 37
def clear!
  history.clear
  self
end
skip?() click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 27
def skip?
  !history.empty? && history.values.all? { |v|
    v.nil? || v.respond_to?(:empty?) && v.empty?
  }
end
start() click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 13
def start
  item.add_observer(self)
  self
end
stop() click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 18
def stop
  item.delete_observer(self)
  self
end
update(method, key, value) click to toggle source
# File lib/citeproc/ruby/renderer/observer.rb, line 23
def update(method, key, value)
  history[key] = value if method == :read
end