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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
# frozen_string_literal: true
gem_version =
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.1")
# Loading Version into an anonymous module allows version.rb to get code coverage from SimpleCov!
# See: https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
Module.new.tap { |mod| Kernel.load("lib/snaky_hash/version.rb", mod) }::SnakyHash::Version::VERSION
else
require_relative "lib/snaky_hash/version"
SnakyHash::Version::VERSION
end
Gem::Specification.new do |spec|
spec.name = "snaky_hash"
spec.version = gem_version
spec.authors = ["Peter Boling"]
spec.email = ["peter.boling@gmail.com", "oauth-ruby@googlegroups.com"]
# Linux distros often package gems and securely certify them independent
# of the official RubyGem certification process. Allowed via ENV["SKIP_GEM_SIGNING"]
# Ref: https://gitlab.com/oauth-xx/version_gem/-/issues/3
# Hence, only enable signing if `SKIP_GEM_SIGNING` is not set in ENV.
# See CONTRIBUTING.md
unless ENV.include?("SKIP_GEM_SIGNING")
user_cert = "certs/#{ENV.fetch("GEM_CERT_USER", ENV["USER"])}.pem"
cert_file_path = File.join(__dir__, user_cert)
cert_chain = cert_file_path.split(",")
cert_chain.select! { |fp| File.exist?(fp) }
if cert_file_path && cert_chain.any?
spec.cert_chain = cert_chain
if $PROGRAM_NAME.end_with?("gem") && ARGV[0] == "build"
spec.signing_key = File.join(Gem.user_home, ".ssh", "gem-private_key.pem")
end
end
end
gl_homepage = "https://gitlab.com/oauth-xx/snaky_hash"
gh_mirror = "https://github.com/oauth-xx/snaky_hash"
spec.summary = "A very snaky hash"
spec.description = "A Hashie::Mash joint to make #snakelife better"
spec.homepage = gh_mirror
spec.license = "MIT"
spec.required_ruby_version = ">= 2.2.0"
spec.metadata["homepage_uri"] = "https://#{spec.name.tr("_", "-")}.galtzo.com/"
# Yes, GitHub/Microsoft is a disgusting monopoly, but GH stars have value :(
spec.metadata["source_code_uri"] = "#{gh_mirror}/releases/tag//v#{spec.version}"
spec.metadata["changelog_uri"] = "#{gl_homepage}/-/blob/v#{spec.version}/CHANGELOG.md"
spec.metadata["bug_tracker_uri"] = "#{gl_homepage}/-/issues"
spec.metadata["documentation_uri"] = "https://www.rubydoc.info/gems/#{spec.name}/#{spec.version}"
spec.metadata["wiki_uri"] = "#{gl_homepage}/-/wiki"
# Yes, Google is a disgusting monopoly, but the historical value of the mailing list archive is high.
spec.metadata["mailing_list_uri"] = "https://groups.google.com/g/oauth-ruby"
spec.metadata["funding_uri"] = "https://liberapay.com/pboling"
spec.metadata["news_uri"] = "https://www.railsbling.com/tags/#{spec.name}"
spec.metadata["rubygems_mfa_required"] = "true"
# Specify which files should be added to the gem when it is released.
spec.files = Dir[
# Splats (alphabetical)
"lib/**/*",
]
# Automatically included with gem package, no need to list again in files.
spec.extra_rdoc_files = Dir[
# Files (alphabetical)
"CHANGELOG.md",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"LICENSE.txt",
"README.md",
"SECURITY.md",
]
spec.rdoc_options += [
"--title",
"#{spec.name} - #{spec.summary}",
"--main",
"CHANGELOG.md",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"LICENSE.txt",
"README.md",
"SECURITY.md",
"--line-numbers",
"--inline-source",
"--quiet",
]
spec.require_paths = ["lib"]
spec.bindir = "exe"
spec.executables = []
spec.add_dependency("hashie", ">= 0.1.0", "< 6") # Hashie::Mash was introduced in v0.1.0
spec.add_dependency("version_gem", ">= 1.1.8", "< 3") # Ruby >= 2.2
spec.add_development_dependency("backports", "~> 3.25", ">= 3.25.1") # ruby >= 0
spec.add_development_dependency("rake", "~> 13.0") # ruby >= 2.2
spec.add_development_dependency("rspec", "~> 3.13") # ruby >= 0
spec.add_development_dependency("rspec-block_is_expected", "~> 1.0", ">= 1.0.6") # ruby >= 1.8.7
spec.add_development_dependency("rspec-pending_for", "~> 0.1", ">= 0.1.17") # ruby >= 1.8.7
spec.add_development_dependency("stone_checksums", "~> 1.0") # ruby >= 2.2
end
|