feat: big-suite terraform example + provider nodejs zip fix
- examples/big-suite: E-Commerce 10 functions, 6 layers, real depends_on - provider: nodejs packages now wrapped in ESM zip (buildJSDeployZip) - provider: loadPackageLiteral reads raw file, nodejs zip via source_dir - all 10 functions verified working: python/node/ruby/go runtimes
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user