# File lib/citeproc/ruby/renderer/observer.rb, line 9 def initialize(item, history = {}) @item, @history = item, history end
# File lib/citeproc/ruby/renderer/observer.rb, line 33 def accessed history.select { |key, value| !value.nil? }.keys end
# File lib/citeproc/ruby/renderer/observer.rb, line 37 def clear! history.clear self end
# 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
# File lib/citeproc/ruby/renderer/observer.rb, line 13 def start item.add_observer(self) self end
# File lib/citeproc/ruby/renderer/observer.rb, line 18 def stop item.delete_observer(self) self end
# File lib/citeproc/ruby/renderer/observer.rb, line 23 def update(method, key, value) history[key] = value if method == :read end