Module: RockautoApi::Endpoints::Tools

Included in:
Client
Defined in:
lib/rockauto_api/endpoints/tools.rb

Instance Method Summary collapse

Instance Method Details

#get_tool_categories(path = "/en/tools/") ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/rockauto_api/endpoints/tools.rb', line 6

def get_tool_categories(path = "/en/tools/")
  html = get(path)
  doc = Nokogiri::HTML(html)

  categories = doc.css("a").map { |a|
    text = a.text.strip
    href = a["href"]
    next nil if text.empty? || href.nil? || !href.include?("tools")
    Models::ToolCategory.new(
      name: text,
      group_name: text,
      href: Parsers::HtmlHelpers.make_absolute_url(href),
      level: path.scan("/").size - 1
    )
  }.compact

  Models::ToolCategories.new(
    categories: categories,
    count: categories.size,
    level: path.scan("/").size - 1,
    parent_path: path
  )
end

#get_tools_by_category(category_path) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/rockauto_api/endpoints/tools.rb', line 30

def get_tools_by_category(category_path)
  html = get(category_path)
  doc = Nokogiri::HTML(html)
  tools = parse_tools_from_table(doc)
  category_name = category_path.split("/").last

  Models::ToolsResult.new(
    tools: tools,
    count: tools.size,
    category: category_name,
    category_path: category_path
  )
end