8 files changed, 64 insertions(+), 162 deletions(-)

M .ruby-version
R Gemfile => 
M Manifest.txt
M README.md
M Rakefile
M .gems => gem.deps.rb
M schedulability.gemspec
M spec/helpers.rb
M .ruby-version +1 -1
@@ 1,1 1,1 @@ 
-2.5
  No newline at end of file
+2.7

          
R Gemfile =>  +0 -2
@@ 1,2 0,0 @@ 
-source "https://rubygems.org/"
-gemspec

          
M Manifest.txt +0 -5
@@ 1,10 1,5 @@ 
-.editorconfig
-.simplecov
-ChangeLog
 History.md
-Manifest.txt
 README.md
-Rakefile
 lib/schedulability.rb
 lib/schedulability/exceptions.rb
 lib/schedulability/parser.rb

          
M README.md +13 -10
@@ 1,10 1,7 @@ 
 # schedulability
 
 home
-: http://deveiate.org/projects/schedulability
-
-code
-: http://bitbucket.org/ged/schedulability
+: https://hg.sr.ht/~ged/Schedulability
 
 docs
 : http://deveiate.org/code/schedulability

          
@@ 109,7 106,7 @@ Values for week days and months can be a
 <dd>Monday through Friday, 9am to 5pm</dd>
 
 <dt><code>wd {Mon Wed Fri} hr {9am-4pm}, wd{Tue Thu} hr {9am-2pm}</code></dt>
-<dd>Monday through Friday, 9:00:00am to 3:59:59pm on Monday, Wednesday, and 
+<dd>Monday through Friday, 9:00:00am to 3:59:59pm on Monday, Wednesday, and
 	Friday, and 9:00:00am to 1:59:59pm on Tuesday and Thursday</dd>
 
 <dt><code>wk {1 3 5} wd {Mon-Fri} hr {9am-5pm}</code></dt>

          
@@ 143,14 140,14 @@ Values for week days and months can be a
 <dd>Alternating 5-second periods every hour.</dd>
 
 <dt><code>wd {mon wed fri} hr {8am - 5pm}, except day {1}</code></dt>
-<dd>Every Monday, Wednesday, and Friday from 8am until 4:59:59 PM, except on 
+<dd>Every Monday, Wednesday, and Friday from 8am until 4:59:59 PM, except on
 	the first of the month.</dd>
 
 <dt><code>wd {1 3 5 7} min {0-29}, wd {2 4 6} min {30-59}</code></dt>
 <dd>Every first half-hour on alternating week days, and the second half-hour the
   rest of the week.</dd>
 </dl>
-        
+
 
 ### Schedule Objects
 

          
@@ 218,6 215,12 @@ This task will install any missing depen
 and generate the API documentation.
 
 
+## Authors
+
+- Michael Granger <ged@faeriemud.org>
+- Mahlon E. Smith <mahlon@martini.nu>
+
+
 ## License
 
 This library borrows much of its schedule description syntax and several

          
@@ 226,14 229,14 @@ used under the terms of the Perl Artisti
 
 > Patrick Ryan <perl@pryan.org> wrote it.
 > Paul Boyd <pboyd@cpan.org> fixed a few bugs.
-> 
-> Copyright (c) 1997 Patrick Ryan. All rights reserved. This Perl 
+>
+> Copyright (c) 1997 Patrick Ryan. All rights reserved. This Perl
 > module uses the conditions given by Perl. This module may only
 > be distributed and or modified under the conditions given by Perl.
 
 The rest is:
 
-Copyright (c) 2015-2018, Michael Granger and Mahlon E. Smith
+Copyright (c) 2015-2020, Michael Granger and Mahlon E. Smith
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without

          
M Rakefile +5 -85
@@ 1,88 1,8 @@ 
-#!/usr/bin/env rake
-
-require 'rake/clean'
+#!/usr/bin/env ruby -S rake
 
-begin
-	require 'hoe'
-rescue LoadError
-	abort "This Rakefile requires 'hoe' (gem install hoe)"
+require 'rake/deveiate'
+
+Rake::DevEiate.setup( 'schedulability' ) do |project|
+	project.publish_to = 'deveiate:/usr/local/www/public/code'
 end
 
-GEMSPEC = 'schedulability.gemspec'
-
-Hoe.plugin :mercurial
-Hoe.plugin :signing
-Hoe.plugin :deveiate
-
-Hoe.plugins.delete :rubyforge
-
-hoespec = Hoe.spec 'schedulability' do
-	self.readme_file = 'README.md'
-	self.history_file = 'History.md'
-	self.extra_rdoc_files = FileList[ '*.md' ]
-	self.urls = {
-		home:   'http://deveiate.org/projects/schedulability',
-		code:   'http://bitbucket.org/ged/schedulability',
-		docs:   'http://deveiate.org/code/schedulability',
-		github: 'http://github.com/ged/schedulability',
-	}
-
-	self.developer 'Michael Granger', 'ged@FaerieMUD.org'
-	self.developer 'Mahlon E. Smith', 'mahlon@martini.nu'
-
-	self.dependency 'loggability',     '~> 0.11'
-
-	self.dependency 'timecop',         '~> 0.8', :developer
-	self.dependency 'rdoc',            '~> 4.2', :developer
-	self.dependency 'hoe-deveiate',    '~> 0.8', :developer
-	self.dependency 'simplecov',       '~> 0.12', :developer
-
-	self.license "BSD-3-Clause"
-	self.require_ruby_version( '>=2.2.0' )
-	self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
-	self.check_history_on_release = true if self.respond_to?( :check_history_on_release= )
-
-	self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
-end
-
-ENV['VERSION'] ||= hoespec.spec.version.to_s
-
-# Ensure the specs pass before checking in
-task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ]
-
-
-desc "Build a coverage report"
-task :coverage do
-	ENV["COVERAGE"] = 'yes'
-	Rake::Task[:spec].invoke
-end
-CLOBBER.include( 'coverage' )
-
-
-# Use the fivefish formatter for docs generated from development checkout
-if File.directory?( '.hg' )
-	require 'rdoc/task'
-
-	Rake::Task[ 'docs' ].clear
-	RDoc::Task.new( 'docs' ) do |rdoc|
-	    rdoc.main = "README.md"
-	    rdoc.rdoc_files.include( "*.rdoc", "*.md", "ChangeLog", "lib/**/*.rb" )
-	    rdoc.generator = :fivefish
-		rdoc.title = 'Schedulability'
-	    rdoc.rdoc_dir = 'doc'
-	end
-end
-
-task :gemspec => GEMSPEC
-file GEMSPEC => __FILE__
-task GEMSPEC do |task|
-	spec = $hoespec.spec
-	spec.files.delete( '.gemtest' )
-	spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
-	File.open( task.name, 'w' ) do |fh|
-		fh.write( spec.to_ruby )
-	end
-end
-
-CLOBBER.include( GEMSPEC.to_s )
-

          
M .gems => gem.deps.rb +10 -5
@@ 1,5 1,10 @@ 
-hoe-deveiate
-simplecov
-rdoc
-timecop
-loggability
+source 'https://rubygems.org/'
+
+gem 'loggability',     '~> 0.15'
+
+group :development do
+	gem 'timecop',         '~> 0.8'
+	gem 'rake-deveiate',   '~> 0.8'
+	gem 'simplecov',       '~> 0.18'
+end
+

          
M schedulability.gemspec +24 -46
@@ 1,57 1,35 @@ 
 # -*- encoding: utf-8 -*-
-# stub: schedulability 0.3.0.pre20160720151839 ruby lib
+# stub: schedulability 0.5.0.pre.20200131233720 ruby lib
 
 Gem::Specification.new do |s|
-  s.name = "schedulability"
-  s.version = "0.3.0.pre20160720151839"
+  s.name = "schedulability".freeze
+  s.version = "0.5.0.pre.20200131233720"
 
-  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
-  s.require_paths = ["lib"]
-  s.authors = ["Michael Granger", "Mahlon E. Smith"]
-  s.cert_chain = ["/Users/ged/.gem/gem-public_cert.pem"]
-  s.date = "2016-07-20"
-  s.description = "Schedulability is a library for describing scheduled time. You can specify one\nor more periods of time using a simple syntax, then combine them to describe\nmore-complex schedules."
-  s.email = ["ged@FaerieMUD.org", "mahlon@martini.nu"]
-  s.extra_rdoc_files = ["History.md", "Manifest.txt", "README.md", "History.md", "README.md"]
-  s.files = [".editorconfig", ".simplecov", "ChangeLog", "History.md", "Manifest.txt", "README.md", "Rakefile", "lib/schedulability.rb", "lib/schedulability/exceptions.rb", "lib/schedulability/mixins.rb", "lib/schedulability/parser.rb", "lib/schedulability/schedule.rb", "spec/helpers.rb", "spec/schedulability/mixins_spec.rb", "spec/schedulability/parser_spec.rb", "spec/schedulability/schedule_spec.rb", "spec/schedulability_spec.rb"]
-  s.homepage = "http://deveiate.org/projects/schedulability"
-  s.licenses = ["BSD-3-Clause"]
-  s.rdoc_options = ["--main", "README.md"]
-  s.required_ruby_version = Gem::Requirement.new(">= 2.2.0")
-  s.rubygems_version = "2.5.1"
-  s.signing_key = "/Volumes/Keys/ged-private_gem_key.pem"
-  s.summary = "Schedulability is a library for describing scheduled time"
+  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".freeze) if s.respond_to? :required_rubygems_version=
+  s.require_paths = ["lib".freeze]
+  s.authors = ["Michael Granger".freeze, "Mahlon E. Smith".freeze]
+  s.date = "2020-01-31"
+  s.description = "Schedulability is a library for describing scheduled time. You can specify one\nor more periods of time using a simple syntax, then combine them to describe\nmore-complex schedules.".freeze
+  s.email = ["ged@faeriemud.org".freeze, "mahlon@martini.nu".freeze]
+  s.files = ["History.md".freeze, "README.md".freeze, "lib/schedulability.rb".freeze, "lib/schedulability/exceptions.rb".freeze, "lib/schedulability/parser.rb".freeze, "lib/schedulability/schedule.rb".freeze, "spec/helpers.rb".freeze, "spec/schedulability/parser_spec.rb".freeze, "spec/schedulability/schedule_spec.rb".freeze, "spec/schedulability_spec.rb".freeze]
+  s.homepage = "https://hg.sr.ht/~ged/Schedulability".freeze
+  s.licenses = ["BSD-3-Clause".freeze]
+  s.rubygems_version = "3.1.2".freeze
+  s.summary = "Schedulability is a library for describing scheduled time.".freeze
 
   if s.respond_to? :specification_version then
     s.specification_version = 4
+  end
 
-    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
-      s.add_runtime_dependency(%q<loggability>, ["~> 0.11"])
-      s.add_development_dependency(%q<hoe-mercurial>, ["~> 1.4"])
-      s.add_development_dependency(%q<hoe-deveiate>, ["~> 0.8"])
-      s.add_development_dependency(%q<hoe-highline>, ["~> 0.2"])
-      s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
-      s.add_development_dependency(%q<timecop>, ["~> 0.8"])
-      s.add_development_dependency(%q<simplecov>, ["~> 0.12"])
-      s.add_development_dependency(%q<hoe>, ["~> 3.15"])
-    else
-      s.add_dependency(%q<loggability>, ["~> 0.11"])
-      s.add_dependency(%q<hoe-mercurial>, ["~> 1.4"])
-      s.add_dependency(%q<hoe-deveiate>, ["~> 0.8"])
-      s.add_dependency(%q<hoe-highline>, ["~> 0.2"])
-      s.add_dependency(%q<rdoc>, ["~> 4.0"])
-      s.add_dependency(%q<timecop>, ["~> 0.8"])
-      s.add_dependency(%q<simplecov>, ["~> 0.12"])
-      s.add_dependency(%q<hoe>, ["~> 3.15"])
-    end
+  if s.respond_to? :add_runtime_dependency then
+    s.add_runtime_dependency(%q<loggability>.freeze, ["~> 0.15"])
+    s.add_development_dependency(%q<timecop>.freeze, ["~> 0.8"])
+    s.add_development_dependency(%q<rake-deveiate>.freeze, ["~> 0.8"])
+    s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.18"])
   else
-    s.add_dependency(%q<loggability>, ["~> 0.11"])
-    s.add_dependency(%q<hoe-mercurial>, ["~> 1.4"])
-    s.add_dependency(%q<hoe-deveiate>, ["~> 0.8"])
-    s.add_dependency(%q<hoe-highline>, ["~> 0.2"])
-    s.add_dependency(%q<rdoc>, ["~> 4.0"])
-    s.add_dependency(%q<timecop>, ["~> 0.8"])
-    s.add_dependency(%q<simplecov>, ["~> 0.12"])
-    s.add_dependency(%q<hoe>, ["~> 3.15"])
+    s.add_dependency(%q<loggability>.freeze, ["~> 0.15"])
+    s.add_dependency(%q<timecop>.freeze, ["~> 0.8"])
+    s.add_dependency(%q<rake-deveiate>.freeze, ["~> 0.8"])
+    s.add_dependency(%q<simplecov>.freeze, ["~> 0.18"])
   end
 end

          
M spec/helpers.rb +11 -8
@@ 30,17 30,20 @@ end # module Schedulability::SpecHelpers
 
 
 ### Mock with RSpec
-RSpec.configure do |c|
-	c.run_all_when_everything_filtered = true
-	c.filter_run :focus
-	c.order = 'random'
-	c.warnings = true
+RSpec.configure do |config|
+	config.run_all_when_everything_filtered = true
+	config.filter_run :focus
+	config.order = 'random'
+	config.warnings = true
 
-	c.mock_with( :rspec ) do |mock|
+	config.mock_with( :rspec ) do |mock|
 		mock.syntax = :expect
 	end
 
-	c.include( Loggability::SpecHelpers )
-	c.include( Schedulability::SpecHelpers )
+	config.warnings = true
+	config.profile_examples = 5
+
+	config.include( Loggability::SpecHelpers )
+	config.include( Schedulability::SpecHelpers )
 end