tax_conformance_kit
Thin Ruby client for the tax-conformance-kit Go runtime.
Install
Path dependency:
gem "tax_conformance_kit", path: "../tax-conformance-kit/clients/ruby"
Git dependency:
gem "tax_conformance_kit", git: "https://github.com/ramones/tax-conformance-kit.git", glob: "clients/ruby/*.gemspec"
Usage
require "tax_conformance_kit"
client = TaxConformanceKit::TaxctlClient.new(
command: ["/path/to/taxctl"],
registry_path: "/path/to/kind-registry.v1.json"
)
response = client.evaluate(
ruleset: ruleset_hash,
booking_input: booking_input_hash
)
command: may be either:
- a binary path string, for example
"/usr/local/bin/taxctl" - a full argv array, for example
["go", "run", "./cmd/taxctl"]
The client does not implement the evaluator. It shells out to the canonical Go runtime and exchanges JSON over stdin/stdout.