tax_conformance_kit

Thin Ruby client for the tax-conformance-kit Go runtime.

Install

Bundler (RubyGems):

gem "tax_conformance_kit", "~> 0.2.0"

Path dependency (for local development):

gem "tax_conformance_kit", path: "../tax-conformance-kit/clients/ruby"

Git dependency:

gem "tax_conformance_kit", git: "https://github.com/odeva-labs/tax-conformance-kit.git", glob: "clients/ruby/*.gemspec"

Usage

Zero-config — the gem ships with the bundled taxctl binary and the kind registry:

require "tax_conformance_kit"

client = TaxConformanceKit::TaxctlClient.new
response = client.evaluate(ruleset: ruleset_hash, booking_input: booking_input_hash)

Advanced: override command:

command: may be either:

  • a binary path string, for example "/usr/local/bin/taxctl"
  • a full argv array, for example ["go", "run", "./cmd/taxctl"]
client = TaxConformanceKit::TaxctlClient.new(
  command: ["/path/to/taxctl"],
  registry_path: "/path/to/kind-registry.v1.json"
)

The client does not implement the evaluator. It shells out to the canonical Go runtime and exchanges JSON over stdin/stdout.