# HG changeset patch # User Michael Granger # Date 1580542656 28800 # Fri Jan 31 23:37:36 2020 -0800 # Node ID 8a9eccfb01333b3ba63b87e9a36fe8f5729bf2e5 # Parent 28feb169724883843f7e0d1ea0409a9178485fc1 Un-hoeify diff --git a/.ruby-version b/.ruby-version --- a/.ruby-version +++ b/.ruby-version @@ -1,1 +1,1 @@ -2.5 \ No newline at end of file +2.7 diff --git a/Gemfile b/Gemfile deleted file mode 100644 --- a/Gemfile +++ /dev/null @@ -1,2 +0,0 @@ -source "https://rubygems.org/" -gemspec diff --git a/Manifest.txt b/Manifest.txt --- a/Manifest.txt +++ b/Manifest.txt @@ -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 diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -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 @@
Monday through Friday, 9am to 5pm
wd {Mon Wed Fri} hr {9am-4pm}, wd{Tue Thu} hr {9am-2pm}
-
Monday through Friday, 9:00:00am to 3:59:59pm on Monday, Wednesday, and +
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
wk {1 3 5} wd {Mon-Fri} hr {9am-5pm}
@@ -143,14 +140,14 @@
Alternating 5-second periods every hour.
wd {mon wed fri} hr {8am - 5pm}, except day {1}
-
Every Monday, Wednesday, and Friday from 8am until 4:59:59 PM, except on +
Every Monday, Wednesday, and Friday from 8am until 4:59:59 PM, except on the first of the month.
wd {1 3 5 7} min {0-29}, wd {2 4 6} min {30-59}
Every first half-hour on alternating week days, and the second half-hour the rest of the week.
- + ### Schedule Objects @@ -218,6 +215,12 @@ and generate the API documentation. +## Authors + +- Michael Granger +- Mahlon E. Smith + + ## License This library borrows much of its schedule description syntax and several @@ -226,14 +229,14 @@ > Patrick Ryan wrote it. > Paul Boyd 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 diff --git a/Rakefile b/Rakefile --- a/Rakefile +++ b/Rakefile @@ -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 ) - diff --git a/.gems b/gem.deps.rb rename from .gems rename to gem.deps.rb --- a/.gems +++ b/gem.deps.rb @@ -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 + diff --git a/schedulability.gemspec b/schedulability.gemspec --- a/schedulability.gemspec +++ b/schedulability.gemspec @@ -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, ["~> 0.11"]) - s.add_development_dependency(%q, ["~> 1.4"]) - s.add_development_dependency(%q, ["~> 0.8"]) - s.add_development_dependency(%q, ["~> 0.2"]) - s.add_development_dependency(%q, ["~> 4.0"]) - s.add_development_dependency(%q, ["~> 0.8"]) - s.add_development_dependency(%q, ["~> 0.12"]) - s.add_development_dependency(%q, ["~> 3.15"]) - else - s.add_dependency(%q, ["~> 0.11"]) - s.add_dependency(%q, ["~> 1.4"]) - s.add_dependency(%q, ["~> 0.8"]) - s.add_dependency(%q, ["~> 0.2"]) - s.add_dependency(%q, ["~> 4.0"]) - s.add_dependency(%q, ["~> 0.8"]) - s.add_dependency(%q, ["~> 0.12"]) - s.add_dependency(%q, ["~> 3.15"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 0.15"]) + s.add_development_dependency(%q.freeze, ["~> 0.8"]) + s.add_development_dependency(%q.freeze, ["~> 0.8"]) + s.add_development_dependency(%q.freeze, ["~> 0.18"]) else - s.add_dependency(%q, ["~> 0.11"]) - s.add_dependency(%q, ["~> 1.4"]) - s.add_dependency(%q, ["~> 0.8"]) - s.add_dependency(%q, ["~> 0.2"]) - s.add_dependency(%q, ["~> 4.0"]) - s.add_dependency(%q, ["~> 0.8"]) - s.add_dependency(%q, ["~> 0.12"]) - s.add_dependency(%q, ["~> 3.15"]) + s.add_dependency(%q.freeze, ["~> 0.15"]) + s.add_dependency(%q.freeze, ["~> 0.8"]) + s.add_dependency(%q.freeze, ["~> 0.8"]) + s.add_dependency(%q.freeze, ["~> 0.18"]) end end diff --git a/spec/helpers.rb b/spec/helpers.rb --- a/spec/helpers.rb +++ b/spec/helpers.rb @@ -30,17 +30,20 @@ ### 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