summaryrefslogtreecommitdiffhomepage
path: root/dispatch-tools-interface.gemspec
blob: a8bde040a6c92ef258ae4072f8d1556f92fbc7c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# frozen_string_literal: true

require_relative "lib/dispatch/tools/interface/version"

Gem::Specification.new do |spec|
  spec.name = "dispatch-tools-interface"
  spec.version = Dispatch::Tools::Interface::VERSION
  spec.authors = ["Adam Malczewski"]
  spec.email = ["[email protected]"]

spec.summary = "Structured interface for defining, validating, and executing tool definitions with JSON Schema."
spec.description = "A Ruby gem that provides a structured interface for defining, validating, and executing tool definitions. Tools are defined with JSON Schema parameter validation and organized in a registry for lookup and execution."
spec.homepage = "https://github.com/realtradam/dispatch-tools-interface"
  spec.license = "MIT"
  spec.required_ruby_version = ">= 3.2.0"
spec.metadata["allowed_push_host"] = "https://rubygems.org"
  spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = "https://github.com/realtradam/dispatch-tools-interface"

  # Specify which files should be added to the gem when it is released.
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
  gemspec = File.basename(__FILE__)
  spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
    ls.readlines("\x0", chomp: true).reject do |f|
      (f == gemspec) ||
        f.start_with?(*%w[bin/ Gemfile .gitignore .rspec spec/ .rubocop.yml])
    end
  end
  spec.bindir = "exe"
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
  spec.require_paths = ["lib"]

  spec.add_dependency "json_schemer", "~> 2.0"

  # For more information and examples about making a new gem, check out our
  # guide at: https://bundler.io/guides/creating_gem.html
end