Main page. Just simple HTML, CSS and JS. https://asxp.io
  • Ruby 57.4%
  • HTML 22.2%
  • CSS 10.3%
  • JavaScript 7.5%
  • Nix 1%
  • Other 1.6%
Find a file
Sergei Poljanski 1220f37d5f
invoicing: Invoice model with number allocation and totals
Sequel::Model wrapper over the invoices table. Three responsibilities:

- Invoice.build takes form params (client, currency, GEL rate, items array)
  and returns an unsaved Invoice with a freshly-allocated number, normalized
  line items, and computed subtotal.
- Invoice.allocate_number scans for the highest INV-<year>-NNNN and
  increments. Single-process deploy means no contention; if that changes
  this needs a DB-side sequence per year.
- Instance methods: paid?, status, total, total_gel for the PDF renderer
  and the public landing page.

Items are stored as JSONB; qty and unit_price are kept as strings on the
way in/out so BigDecimal arithmetic stays exact through the JSON round-trip.
2026-05-26 17:43:28 +03:00
.forgejo/workflows ruby rework with contact form 2026-05-05 00:45:27 +04:00
db/migrations db: connection helper and invoices migration 2026-05-26 17:43:18 +03:00
lib invoicing: Invoice model with number allocation and totals 2026-05-26 17:43:28 +03:00
public fonts: vendor Noto Sans + Noto Sans Georgian 2026-05-26 17:29:30 +03:00
views more SEO: org -> person 2026-05-05 01:45:18 +04:00
.dockerignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
.env.example ruby rework with contact form 2026-05-05 00:45:27 +04:00
.gitignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
asxpio.rb SEO optimization 2026-05-05 01:13:59 +04:00
CLAUDE.md SEO optimization 2026-05-05 01:13:59 +04:00
config.ru ruby rework with contact form 2026-05-05 00:45:27 +04:00
docker-compose.yml compose: join external storage network 2026-05-26 17:29:09 +03:00
Dockerfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
flake.lock ruby rework with contact form 2026-05-05 00:45:27 +04:00
flake.nix gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile.lock gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00