name = File.basename(__FILE__, ".gemspec") version = ["lib", Array.new(name.count("-")+1).join("/")].find do |dir| break File.foreach(File.join(__dir__, dir, "#{name.tr('-', '/')}.rb")) do |line| /^\s*VERSION\s*=\s*"(.*)"/ =~ line and break $1 end rescue nil end Gem::Specification.new do |spec| spec.name = name spec.version = version spec.authors = ["Yukihiro Matsumoto"] spec.email = ["matz@ruby-lang.org"] spec.summary = %q{A utility class for managing temporary files.} spec.description = %q{A utility class for managing temporary files.} spec.homepage = "https://github.com/ruby/tempfile" spec.licenses = ["Ruby", "BSD-2-Clause"] spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0") spec.metadata["homepage_uri"] = spec.homepage spec.metadata["source_code_uri"] = spec.homepage # 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, exception: false) do |ls| ls.readlines("\x0", chomp: true).reject do |f| (f == gemspec) || f.start_with?(*%w[bin/ test/ spec/ features/ .git Gemfile]) end end spec.require_paths = ["lib"] end