# encoding: utf-8 require 'rubygems' require 'bundler' require 'semver' def s_version SemVer.find.format "%M.%m.%p%s" end begin Bundler.setup(:default, :development) rescue Bundler::BundlerError => e $stderr.puts e.message $stderr.puts "Run `bundle install` to install missing gems" exit e.status_code end require 'rake' require 'juwelier' Juwelier::Tasks.new do |gem| # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options gem.name = "rubyneat" gem.homepage = "http://rubyneat.com" gem.license = "MIT" gem.summary = %Q{RubyNEAT NeuralEvolution of Augmenting Topologies} gem.version = s_version gem.required_ruby_version = '>= 2.0' gem.description = %Q{ RubyNEAT -- Neural Evolution of Augmenting Topologies for Ruby. By way of an enhanced form of Genetic Algorithms -- the NEAT algorithm, populations of neural nets are evolved to handle pre-defined goals. RubyNEAT is the first implementation of the NEAT algorithm for Ruby, and it leverages Ruby's power to implement the NEAT algorithm in a way that would be difficult to do in other languages. The 'activation function' is largely standalone. Basically, activation is achieved by functional programming. Meaning, once your network is evolved, you can extract it as source code you can then utilize without the RubyNEAT engine. RubyNEAT can be used for nearly any Machine Learning task you can dream of, because it's also extensible and modular. See http://rubyneat.com for the details. } gem.email = "lordalveric@yahoo.com" gem.authors = ["Fred Mitchell"] # dependencies defined in Gemfile # Exclude the Neural Docs directory gem.files.exclude 'Neural_Docs/*', 'foo/**/*', 'rdoc/*', '.idea/**/*', '.idea/**/.*', '.yardoc/**/*', 'app/**/*', 'neater/**/*', 'doc/**/*', 'app/**/.*', 'Guardfile' end Juwelier::RubygemsDotOrgTasks.new require 'rspec/core' require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:spec) do |spec| spec.pattern = FileList['spec/**/*_spec.rb'] end RSpec::Core::RakeTask.new(:rcov) do |spec| spec.pattern = 'spec/**/*_spec.rb' spec.rcov = true end task :default => :spec require 'rdoc/task' Rake::RDocTask.new do |rdoc| version = s_version rdoc.rdoc_dir = 'rdoc' rdoc.title = "rubyneat #{version}" rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('rnlib/**/*.rb') end