estepnv/fast_serializer

View on GitHub
fast_serializer.gemspec

Summary

Maintainability
Test Coverage
# frozen_string_literal: true

lib = File.expand_path('lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'fast_serializer/version'

Gem::Specification.new do |spec|
  spec.name          = 'fast_serializer_ruby'
  spec.version       = FastSerializer::VERSION
  spec.authors       = ['Evgeny Stepanov']
  spec.email         = ['estepnv@icloud.com']

  spec.summary       = 'fast_serializer is a lightweight ruby objects serializer.'
  spec.description   = 'This library intends to solve such a typical and on the other hand important problem as efficient ruby object to hash transformation.'
  spec.homepage      = 'https://github.com/estepnv/fast_serializer'
  spec.license       = 'MIT'
  spec.required_ruby_version = '>= 2.3.0'

  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
  # to allow pushing to a single host or delete this section to allow pushing to any host.
  if spec.respond_to?(:metadata)
    spec.metadata['homepage_uri'] = spec.homepage
    spec.metadata['source_code_uri'] = 'https://github.com/estepnv/fast_serializer'
    spec.metadata['changelog_uri'] = 'https://github.com/estepnv/fast_serializer/CHANGELOG.md'
  else
    raise 'RubyGems 2.0 or newer is required to protect against ' \
      'public gem pushes.'
  end

  # 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.
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
    `git ls-files -z`.split("\x0").reject { |f| f.match(%r{(test|spec|features|git|rspec|travis)/}) }
  end

  spec.bindir        = 'bin'
  spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
  spec.require_paths = ['lib']
end