dijkstra_fast.gemspec
lib = File.expand_path('lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'dijkstra_fast/version'
Gem::Specification.new do |spec|
spec.name = 'dijkstra_fast'
spec.version = DijkstraFast::VERSION
spec.authors = ['David McCullars']
spec.email = ['david.mccullars@gmail.com']
spec.summary = '(Native) implementation of Dijkstra algorithm for large, sparse graphs'
spec.description = <<~DESCRIPTION
Native implementation of Dijkstra algorithm for finding the shortest path
between two vertices in a large, sparse graphs. Underlying algorithm is
implemented in C using a priority queue. Edges are represented using linked
lists rather than an adjacency matrix to reduce memory footprint when operating
on very large graphs where the average number of edges between nodes is
relatively small (e.g. < 1/10 the number of nodes). See
https://en.wikipedia.org/wiki/Dijkstra's_algorithm for additional information.
DESCRIPTION
spec.homepage = 'https://github.com/david-mccullars/dijkstra_fast'
spec.license = 'MIT'
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.extensions = ['ext/dijkstra_fast/extconf.rb']
spec.require_paths = ['lib']
spec.required_ruby_version = '>= 3.0.0'
spec.add_development_dependency 'bundler'
spec.add_development_dependency 'github-markup'
spec.add_development_dependency 'rake'
spec.add_development_dependency 'rake-compiler'
spec.add_development_dependency 'redcarpet'
spec.add_development_dependency 'rspec'
spec.add_development_dependency 'rubocop'
spec.add_development_dependency 'rubocop-rake'
spec.add_development_dependency 'rubocop-rspec'
spec.add_development_dependency 'simplecov', '~> 0.17.0' # 0.18 not supported by code climate
spec.add_development_dependency 'yard'
spec.metadata = {
'rubygems_mfa_required' => 'true',
}
end