class Cfoo::Parser
Public Class Methods
new(file_system)
click to toggle source
# File lib/cfoo/parser.rb, line 117 def initialize(file_system) @file_system = file_system end
Public Instance Methods
parse_file(file_name)
click to toggle source
# File lib/cfoo/parser.rb, line 121 def parse_file(file_name) @file_system.parse_file(file_name).expand_el rescue Parslet::ParseFailed => failure #TODO: spec this somehow cause = failure.cause source = cause.source.str row, column = @file_system.find_coordinates(source, file_name) raise ElParseError.new(file_name, cause, source, row, column) rescue ElExpansionError => failure raise failure rescue Exception => failure raise CfooParseError.new(file_name, failure) end