Files
warp_engine/warp_engine.gemspec
T
mr.zeroandClaude Fable 5 ca25f72c76 Phase 3: move service layer, serializers and DTOs into WarpEngine + dummy-app test suite
- all catalog services (update/software/highlighted/builds/file/file-manager/
  download/image + SoftwareResponseBuilder), the SoftwareUpdater platform
  services and their concerns, Blueprinter serializers (incl. TimestampFields)
  and the 4 DTOs now live in the engine under WarpEngine::
- constantize dispatch strings use absolute names
  (WarpEngine::SoftwareUpdater::<Platform>Service)
- container paths read from WarpEngine.config everywhere (FileService,
  DownloadService, FileManagerService, ArchiveExtraction, ReleaseSerializer
  path rewriting); FileManagerService base path is now lazy
- engine requires blueprinter itself; gemspec declares blueprinter + rubyzip
- engine test suite: spec/dummy app (mysql warp_engine_test, catalog-only
  schema), rails_helper with engine-local factories; catalog model/service
  specs and factories moved from the host
- host suite keeps TTG specs and loads catalog factories from the engine

Verified: engine suite 40 green, host suite 14 green, /api/software and
/api/builds byte-identical to baselines, admin OK.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 19:03:58 +02:00

24 lines
961 B
Ruby

require_relative "lib/warp_engine/version"
Gem::Specification.new do |spec|
spec.name = "warp_engine"
spec.version = WarpEngine::VERSION
spec.authors = [ "Teletype Games" ]
spec.summary = "Retro software catalog engine with a CI-callable release updater"
spec.description = "Mountable Rails engine providing a software catalog (softwares, releases, " \
"release assets, images, platform links), a pipeline-callable update endpoint, " \
"a public read-only JSON API and ActiveAdmin resources for a host-owned admin."
spec.license = "MIT"
spec.homepage = "https://teletypegames.org"
spec.required_ruby_version = ">= 3.2"
spec.metadata["allowed_push_host"] = "https://git.teletypegames.org"
spec.files = Dir["{app,config,db,lib}/**/*", "README.md"]
spec.add_dependency "rails", ">= 8.0"
spec.add_dependency "blueprinter"
spec.add_dependency "rubyzip", "~> 2.3"
end