Class: MetaCommit::Services::Parse

Inherits:
Object
  • Object
show all
Defined in:
lib/meta_commit/services/parse.rb

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(factory) ⇒ Parse

Returns a new instance of Parse.

Parameters:



5
6
7
# File 'lib/meta_commit/services/parse.rb', line 5

def initialize(factory)
  @factory=factory
end

Instance Method Details

#execute(filename, content) ⇒ MetaCommit::Contracts::Ast?

Parses content and if matched parser found returns parsed content

Parameters:

  • filename (String)
  • content (String)

Returns:

  • (MetaCommit::Contracts::Ast, nil)


13
14
15
16
17
18
19
# 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