# frozen_string_literal: true require_relative "lib/has_aux_table/version" 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