Class: ReferenceExtractor::Internal::Parsers::Erb

Inherits:
Object
  • Object
show all
Defined in:
lib/reference_extractor/internal/parsers/erb.rb

Instance Method Summary collapse

Constructor Details

#initialize(parser: Herb.method(:extract_ruby), ruby_parser: Ruby.new) ⇒ Erb

Returns a new instance of Erb.



10
11
12
13
# File 'lib/reference_extractor/internal/parsers/erb.rb', line 10

def initialize(parser: Herb.method(:extract_ruby), ruby_parser: Ruby.new)
  @parser = parser
  @ruby_parser = ruby_parser
end

Instance Method Details

#call(io:, file_path: "<unknown>") ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/reference_extractor/internal/parsers/erb.rb', line 15

def call(io:, file_path: "<unknown>")
  erb_source = io.read
  ruby_code = @parser.call(erb_source)

  @ruby_parser.call(
    io: StringIO.new(ruby_code),
    file_path: file_path
  )
end