Files
has_aux_table/has-aux-table.gemspec
2025-07-17 18:27:57 +00:00

51 lines
2.0 KiB
Ruby

# frozen_string_literal: true
require_relative "lib/has_aux_table"
Gem::Specification.new do |spec|
spec.name = "has_aux_table"
spec.version = HasAuxTable::VERSION
spec.authors = ["Dylan Knutson"]
spec.email = ["dymk@dymk.co"]
spec.summary =
"Extend ActiveRecord STI with auxiliary tables for subclass-specific columns"
spec.description =
"ActiveRecord auxiliary table gem allows Single Table Inheritance (STI) subclasses to define auxiliary tables with subclass-specific columns and indexes. This reduces schema bloat, improves query performance, and provides transparent attribute access while maintaining ActiveRecord's familiar API."
spec.homepage = "https://git.dy.mk/dymk/has_aux_table.git"
spec.license = "MIT"
spec.required_ruby_version = ">= 3.1.0"
spec.metadata["allowed_push_host"] = "https://git.dy.mk"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = "https://git.dy.mk/dymk/has_aux_table.git"
spec.metadata[
"changelog_uri"
] = "https://git.dy.mk/dymk/has_aux_table/src/branch/main/CHANGELOG.md"
# 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/ test/ spec/ features/ .git appveyor Gemfile])
end
end
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
# Dependencies for ActiveRecord and ActiveSupport
spec.add_dependency "activerecord", ">= 7.0"
spec.add_dependency "activesupport", ">= 7.0"
spec.add_dependency "sorbet-runtime", "~> 0.5"
# For more information and examples about making a new gem, check out our
# guide at: https://bundler.io/guides/creating_gem.html
end