$LOAD_PATH.append File.expand_path("lib", __dir__)
require "<%= config.dig(:gem, :path) %>/identity"

Gem::Specification.new do |spec|
  spec.name = <%= config.dig(:gem, :class) %>::Identity.name
  spec.version = <%= config.dig(:gem, :class) %>::Identity.version
  spec.platform = <%= config.dig(:gem, :platform) %>
  spec.authors = ["<%= config.dig(:author, :name) %>"]
  spec.email = ["<%= config.dig(:author, :email) %>"]
  spec.homepage = "<%= config.dig(:gem, :url) %>"
  spec.summary = ""
  spec.license = "MIT"

  spec.metadata = {
    "source_code_uri" => "<%= config.dig(:gem, :url) %>",
    "changelog_uri" => "<%= config.dig(:gem, :url) %>/blob/master/CHANGES.md",
    "bug_tracker_uri" => "<%= config.dig(:gem, :url) %>/issues"
  }

  <%- if config.dig(:generate, :security) -%>
  spec.signing_key = Gem.default_key_path
  spec.cert_chain = [Gem.default_cert_path]
  <%- end -%>

  spec.required_ruby_version = "~> <%= config.dig(:versions, :ruby)[/\d+\.\d+/] %>"
  <%- if config.dig(:generate, :engine) -%>
  spec.add_dependency "rails", "~> <%= config.dig(:versions, :rails) %>"
  <%- end -%>
  <%- if config.dig(:generate, :cli) -%>
  spec.add_dependency "runcom", "~> 6.0"
  spec.add_dependency "thor", "~> 0.20"
  <%- end -%>
  <%- if config.dig(:generate, :bundler_audit) -%>
  spec.add_development_dependency "bundler-audit", "~> 0.6"
  <%- end -%>
  spec.add_development_dependency "gemsmith", "~> <%= Gemsmith::Identity.version[/\d+\.\d+/] %>"
  <%- if config.dig(:generate, :git_cop) -%>
  spec.add_development_dependency "git-cop", "~> 4.0"
  <%- end -%>
  <%- if config.dig(:generate, :guard) -%>
  spec.add_development_dependency "guard-rspec", "~> 4.7"
  <%- end -%>
  <%- if config.dig(:generate, :pry) -%>
  spec.add_development_dependency "pry", "~> 0.12"
  spec.add_development_dependency "pry-byebug", "~> 3.7"
  <%- end -%>
  spec.add_development_dependency "rake", "~> 13.0"
  <%- if config.dig(:generate, :reek) -%>
  spec.add_development_dependency "reek", "~> 5.6"
  <%- end -%>
  <%- if config.dig(:generate, :rspec) -%>
  spec.add_development_dependency "<%= config.dig(:generate, :engine) ? "rspec-rails" : "rspec" %>", "~> 3.9"
  <%- end -%>
  <%- if config.dig(:generate, :rubocop) -%>
  spec.add_development_dependency "rubocop", "~> 0.79"
  spec.add_development_dependency "rubocop-performance", "~> 1.5"
  spec.add_development_dependency "rubocop-rake", "~> 0.5"
  <%- end -%>
  <%- if config.dig(:generate, :rubocop) && config.dig(:generate, :rspec) -%>
  spec.add_development_dependency "rubocop-rspec", "~> 1.37"
  <%- end -%>
  <%- if config.dig(:generate, :simple_cov) -%>
  spec.add_development_dependency "simplecov", "~> 0.18"
  <%- end -%>

  <%- if config.dig(:generate, :engine) -%>
  spec.files = Dir["app/**/*", "bin/**/*", "config/**/*", "lib/**/*", "vendor/**/*"]
  <%- else -%>
  spec.files = Dir["lib/**/*"]
  <%- end -%>
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
  <%- if config.dig(:generate, :cli) -%>
  spec.executables << "<%= config.dig(:gem, :name) %>"
  <%- end -%>
  spec.require_paths = ["lib"]
end