# frozen_string_literal: true require "json" PRODUCTS = [ { id: "p-001", name: "Laptop Pro 15", price: 1299.99, category: "electronics", stock: 14 }, { id: "p-002", name: "Wireless Mouse", price: 29.99, category: "electronics", stock: 203 }, { id: "p-003", name: "Standing Desk", price: 549.00, category: "furniture", stock: 7 }, { id: "p-004", name: "USB-C Hub 7-in-1", price: 49.99, category: "electronics", stock: 88 }, { id: "p-005", name: "Ergonomic Chair", price: 399.00, category: "furniture", stock: 3 }, { id: "p-006", name: "Monitor 4K 27\"", price: 699.00, category: "electronics", stock: 22 }, { id: "p-007", name: "Notebook A5", price: 4.99, category: "stationery", stock: 500 }, { id: "p-008", name: "Pen Set 12pc", price: 9.99, category: "stationery", stock: 320 }, ].freeze def handler # Простая фильтрация по category (query string не доступен в v1 Perl-style, # но для Ruby v3 env возвращаем весь каталог) total = PRODUCTS.length in_stock = PRODUCTS.count { |p| p[:stock] > 0 } by_cat = PRODUCTS.group_by { |p| p[:category] }.transform_values(&:length) { status: "ok", total: total, in_stock: in_stock, by_category: by_cat, products: PRODUCTS, }.to_json end