Class: LighterpackParser::ListParser

Inherits:
Object
  • Object
show all
Defined in:
lib/lighterpack_parser/list_parser.rb

Overview

Parser for extracting list data from Lighterpack HTML documents.

Instance Method Summary collapse

Instance Method Details

#parse(doc, category_parser:, item_parser:) ⇒ List

Parse a Lighterpack HTML document and return a List object.

Parameters:

  • doc (Nokogiri::HTML::Document)

    The parsed HTML document

  • category_parser (CategoryParser)

    The parser to use for extracting categories

  • item_parser (ItemParser)

    The parser to use for extracting items

Returns:

  • (List)

    The parsed list



12
13
14
15
16
17
18
# File 'lib/lighterpack_parser/list_parser.rb', line 12

def parse(doc, category_parser:, item_parser:)
  List.new(
    name: extract_name(doc),
    description: extract_description(doc),
    categories: category_parser.parse_all(doc, item_parser: item_parser)
  )
end