Sha256: 57c7efb33ddbe695fc353b802fe1af2c4da56036a53e2b44cc23a5da6884d3e3

Contents?: true

Size: 464 Bytes

Versions: 4

Compression:

Stored size: 464 Bytes

Contents

require 'treetop'

Treetop.load('lib/grammar')

module ParseAChangelog
  class ParseError < StandardError; end

  class << self
    def parse(file_path)
      file = File.read(file_path)
      parser = KeepAChangelogParser.new
      result = parser.parse(file)

      if !result
        raise ParseError.new(failure_message(parser))
      end

      result
    end

    def failure_message(parser)
      parser.failure_reason.split(' after ')[0]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
parse_a_changelog-0.2.1 lib/parse_a_changelog.rb
parse_a_changelog-0.2.0 lib/parse_a_changelog.rb
parse_a_changelog-0.1.2 lib/parse_a_changelog.rb
parse_a_changelog-0.1.0 lib/parse_a_changelog.rb