class MetaCommit::Services::Parse

Parse service responsibility is to parse text if matched parser found and return parsed content

Public Class Methods

new(factory) click to toggle source

@param [MetaCommit::Factories::ParserFactory] factory

# File lib/meta_commit/services/parse.rb, line 5
def initialize(factory)
  @factory=factory
end

Public Instance Methods

execute(filename, content) click to toggle source

Parses content and if matched parser found returns parsed content @param [String] filename @param [String] content @return [MetaCommit::Contracts::Ast, nil]

# File lib/meta_commit/services/parse.rb, line 13
def execute(filename, content)
  parser = @factory.create_parser_for(filename, content)
  return nil if parser.nil?
  ast = parser.parse(content)
  ast.parser_class = parser.class
  ast
end