Class: CiteProc::Ruby::Renderer::History
- Inherits:
-
Object
- Object
- CiteProc::Ruby::Renderer::History
- Defined in:
- lib/citeproc/ruby/renderer/history.rb
Instance Attribute Summary collapse
-
#maxsize ⇒ Object
readonly
Returns the value of attribute maxsize.
-
#memory ⇒ Object
readonly
Returns the value of attribute memory.
Instance Method Summary collapse
- #bibliography ⇒ Object
- #citation ⇒ Object
- #discard ⇒ Object
-
#initialize(state, maxsize = 10) ⇒ History
constructor
A new instance of History.
- #recall(mode) ⇒ Object
- #update(action, mode, memories = {}) ⇒ Object
Constructor Details
#initialize(state, maxsize = 10) ⇒ History
Returns a new instance of History.
8 9 10 11 12 13 14 15 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 8 def initialize(state, maxsize = 10) @state, @maxsize, = state, maxsize @state.add_observer(self) @memory = Hash.new do |hash, key| hash[key] = [] end end |
Instance Attribute Details
#maxsize ⇒ Object (readonly)
Returns the value of attribute maxsize.
6 7 8 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 6 def maxsize @maxsize end |
#memory ⇒ Object (readonly)
Returns the value of attribute memory.
6 7 8 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 6 def memory @memory end |
Instance Method Details
#bibliography ⇒ Object
33 34 35 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 33 def bibliography memory['bibliography'] end |
#citation ⇒ Object
29 30 31 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 29 def citation memory['citation'] end |
#discard ⇒ Object
37 38 39 40 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 37 def discard memory.clear self end |
#recall(mode) ⇒ Object
25 26 27 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 25 def recall(mode) memory[mode][-1] end |
#update(action, mode, memories = {}) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/citeproc/ruby/renderer/history.rb', line 17 def update(action, mode, memories = {}) history = memory[mode] history << memories ensure history.shift if history.length > maxsize end |