Class: RspecLogFormatter::HistoryManager
- Inherits:
-
Object
- Object
- RspecLogFormatter::HistoryManager
- Defined in:
- lib/rspec_log_formatter/history_manager.rb
Instance Method Summary collapse
- #builds ⇒ Object
-
#initialize(filepath) ⇒ HistoryManager
constructor
A new instance of HistoryManager.
- #results ⇒ Object
- #truncate(number_of_builds) ⇒ Object
Constructor Details
#initialize(filepath) ⇒ HistoryManager
Returns a new instance of HistoryManager.
6 7 8 |
# File 'lib/rspec_log_formatter/history_manager.rb', line 6 def initialize(filepath) @filepath = filepath end |
Instance Method Details
#builds ⇒ Object
10 11 12 |
# File 'lib/rspec_log_formatter/history_manager.rb', line 10 def builds results.map{|r| r.build_number.to_i}.reduce(SortedSet.new, &:<<).to_a end |
#results ⇒ Object
29 30 31 32 33 |
# File 'lib/rspec_log_formatter/history_manager.rb', line 29 def results lines.map do |line| parse(line) end end |
#truncate(number_of_builds) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rspec_log_formatter/history_manager.rb', line 14 def truncate(number_of_builds) kept_builds = builds.to_a.last(number_of_builds) sio = StringIO.new lines.each do |line| sio.puts line if kept_builds.include? (parse(line).build_number.to_i) end sio.rewind File.open(@filepath, 'w') do |f| f.write sio.read end end |