class RailInspector::Changelog::Parser
Constants
- FOOTER_TEXT
- RELEASE_HEADER
Public Class Methods
# File tools/rail_inspector/lib/rail_inspector/changelog.rb, line 106 def self.call(file) new(file).parse end
# File tools/rail_inspector/lib/rail_inspector/changelog.rb, line 114 def initialize(file) @buffer = StringScanner.new(file) @lines = [] @current_line = 1 @entries = [] end
# File tools/rail_inspector/lib/rail_inspector/changelog.rb, line 110 def self.to_proc method(:call).to_proc end
Public Instance Methods
# File tools/rail_inspector/lib/rail_inspector/changelog.rb, line 122 def parse until @buffer.eos? if peek_release_header? pop_entry next parse_release_header end if peek_footer? pop_entry next parse_footer end pop_entry if peek_probably_header? parse_line end @entries end