# HG changeset patch # User Michael Granger # Date 1583361693 28800 # Wed Mar 04 14:41:33 2020 -0800 # Node ID ec610390e4a7f46c08348d7c10829fe1a47021e5 # Parent 7571976f46b4ee6566d319e049842c808b0014e3 Un-hoeify the project, more 2.7 updates. diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -11,3 +11,4 @@ coverage/ \.paw$ doc/ +^spec/\.status$ 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/History.rdoc b/History.md rename from History.rdoc rename to History.md diff --git a/Manifest.txt b/Manifest.txt --- a/Manifest.txt +++ b/Manifest.txt @@ -1,15 +1,6 @@ .simplecov -ChangeLog -Gemfile -History.rdoc -LICENSE -Manifest.txt -Procfile -README.rdoc -Rakefile bin/thingfish -etc/mongrel2-config.rb -etc/thingfish.conf.example +History.md lib/strelka/app/metadata.rb lib/strelka/apps.rb lib/strelka/httprequest/metadata.rb @@ -24,6 +15,9 @@ lib/thingfish/processor.rb lib/thingfish/processor/sha256.rb lib/thingfish/spechelpers.rb +LICENSE +Rakefile +README.md spec/data/APIC-1-image.mp3 spec/data/APIC-2-images.mp3 spec/data/PIC-1-image.mp3 diff --git a/README.rdoc b/README.md rename from README.rdoc rename to README.md --- a/README.rdoc +++ b/README.md @@ -1,8 +1,16 @@ -= Thingfish +# Thingfish + +home +: https://thing.fish -* https://thing.fish +code +: https://hg.sr.ht/~ged/thingfish -== Description +docs +: https://thing.fish/docs/ + + +## Description Thingfish is a extensible, web-based digital asset manager. It can be used to store chunks of data on the network in an application-independent way, link the @@ -10,42 +18,31 @@ fetch it, all through a REST API. -== Authors - -* Michael Granger -* Mahlon E. Smith +## Requirements -== Contributors - -* Jeremiah Jordan -* Ben Bleything -* Jeff Davis +Thingfish is written in ruby, and is tested using [version 2.7](http://www.ruby-lang.org/en/downloads/). Other versions may work, +but are not tested. -== Installation - -=== Requirements +## Installation -Thingfish is written in ruby, and is tested using {version 2.3}[http://www.ruby-lang.org/en/downloads/]. Other versions may work, -but are not tested. +You can install Thingfish via Rubygems: -=== Ruby Modules - -You can install Thingfish via the Rubygems package manager: - - $ gem install thingfish + $ gem install thingfish This will install the basic server and its dependencies. Additional functionality is available via separate gems in the following namespaces: -[thingfish-metastore-*] - Storage backends for resource metadata -[thingfish-filestore-*] - Storage backends for resources themselves -[thingfish-processor-*] - Filters and extractors for resources +`thingfish-metastore-*` +: Storage backends for resource metadata + +`thingfish-filestore-*` +: Storage backends for resources themselves + +`thingfish-processor-*` +: Filters and extractors for resources -== Contributing +## Contributing You can check out the current development source {with Mercurial}[http://bitbucket.org/ged/thingfish], or @@ -63,9 +60,22 @@ {the project page}[http://bitbucket.org/ged/thingfish]. -== License +## Authors + +* Michael Granger +* Mahlon E. Smith + + +## Contributors -Copyright (c) 2007-2016, Michael Granger and Mahlon E. Smith +* Jeremiah Jordan +* Ben Bleything +* Jeff Davis + + +## License + +Copyright (c) 2007-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,90 +1,8 @@ -#!/usr/bin/env rake -#encoding: utf-8 - -begin - require 'hoe' -rescue LoadError - abort "This Rakefile requires hoe (gem install hoe)" -end - -GEMSPEC = 'thingfish.gemspec' - - -Hoe.plugin :mercurial -Hoe.plugin :signing -Hoe.plugin :deveiate - -Hoe.plugins.delete :rubyforge +#!/usr/bin/env ruby -S rake -hoespec = Hoe.spec 'thingfish' do - self.readme_file = 'README.rdoc' - self.history_file = 'History.rdoc' - self.extra_rdoc_files = Rake::FileList[ '*.rdoc' ] - self.license 'BSD-3-Clause' - - self.developer 'Michael Granger', 'ged@FaerieMUD.org' - self.developer 'Mahlon E. Smith', 'mahlon@martini.nu' - self.license "BSD" +require 'rake/deveiate' - self.dependency 'strelka', '~> 0.14' - - self.dependency 'hoe-deveiate', '~> 0.3', :development - self.dependency 'simplecov', '~> 0.7', :development - - self.require_ruby_version( '>=2.0.0' ) - - self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= ) - spec.check_history_on_release = true if spec.respond_to?( :check_history_on_release= ) - - self.rdoc_locations << "deveiate:/usr/local/thingfish/api" +Rake::DevEiate.setup( 'thingfish' ) do |project| + project.publish_to = 'deveiate:/usr/local/www/public/code' end -ENV['VERSION'] ||= hoespec.spec.version.to_s - -# Run the tests before checking in -task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ] - -task :test => :spec - -# Rebuild the ChangeLog immediately before release -task :prerelease => 'ChangeLog' -CLOBBER.include( 'ChangeLog' ) - -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.rdoc" - rdoc.markup = 'markdown' - rdoc.rdoc_files.include( "*.rdoc", "ChangeLog", "lib/**/*.rb" ) - rdoc.generator = :sixfish - rdoc.title = 'Thingfish' - rdoc.rdoc_dir = 'doc' - end -end - -task :gemspec => GEMSPEC -file GEMSPEC => __FILE__ -task GEMSPEC do |task| - spec = $hoespec.spec - spec.files.delete( '.gemtest' ) - spec.signing_key = nil - spec.cert_chain = Dir.glob( 'certs/*.pem' ) - 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/certs/ged.pem b/certs/ged.pem --- a/certs/ged.pem +++ b/certs/ged.pem @@ -1,26 +1,25 @@ -----BEGIN CERTIFICATE----- -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 +JnC4lpJfCP6aCXa5h2XAQfPSH636cQap -----END CERTIFICATE----- diff --git a/.gems b/gem.deps.rb rename from .gems rename to gem.deps.rb --- a/.gems +++ b/gem.deps.rb @@ -1,7 +1,10 @@ -configurability -loggability -hoe-deveiate -strelka -simplecov -mongrel2 -rdoc +source 'https://rubygems.org/' + +gem 'strelka', '~> 0.14' + +group :development do + gem 'rake-deveiate', '~> 0.10' + gem 'rdoc-generator-fivefish', '~> 0.4' + gem 'simplecov', '~> 0.18' +end + diff --git a/spec/helpers.rb b/spec/helpers.rb --- a/spec/helpers.rb +++ b/spec/helpers.rb @@ -42,26 +42,32 @@ ### Mock with RSpec -RSpec.configure do |c| +RSpec.configure do |config| include Strelka::Constants include Thingfish::SpecHelpers include Thingfish::SpecHelpers::Constants - c.run_all_when_everything_filtered = true - c.filter_run :focus - c.order = 'random' - # c.warnings = true - c.mock_with( :rspec ) do |mock| + config.mock_with( :rspec ) do |mock| mock.syntax = :expect end - c.include( Loggability::SpecHelpers ) - c.include( Mongrel2::SpecHelpers ) - c.include( Mongrel2::Constants ) - c.include( Mongrel2::Config::DSL ) - c.include( Strelka::Constants ) - c.include( Strelka::Testing ) - c.include( Thingfish::SpecHelpers ) + config.disable_monkey_patching! + config.example_status_persistence_file_path = "spec/.status" + config.filter_run :focus + config.filter_run_when_matching :focus + config.order = :random + config.profile_examples = 5 + config.run_all_when_everything_filtered = true + config.shared_context_metadata_behavior = :apply_to_host_groups + # config.warnings = true + + config.include( Loggability::SpecHelpers ) + config.include( Mongrel2::SpecHelpers ) + config.include( Mongrel2::Constants ) + config.include( Mongrel2::Config::DSL ) + config.include( Strelka::Constants ) + config.include( Strelka::Testing ) + config.include( Thingfish::SpecHelpers ) end # vim: set nosta noet ts=4 sw=4: diff --git a/spec/thingfish/datastore/memory_spec.rb b/spec/thingfish/datastore/memory_spec.rb --- a/spec/thingfish/datastore/memory_spec.rb +++ b/spec/thingfish/datastore/memory_spec.rb @@ -7,7 +7,7 @@ require 'thingfish/behaviors' -describe Thingfish::Datastore, "memory" do +RSpec.describe Thingfish::Datastore, "memory" do let( :store ) { Thingfish::Datastore.create(:memory) } diff --git a/spec/thingfish/datastore_spec.rb b/spec/thingfish/datastore_spec.rb --- a/spec/thingfish/datastore_spec.rb +++ b/spec/thingfish/datastore_spec.rb @@ -9,7 +9,7 @@ end -describe Thingfish::Datastore do +RSpec.describe Thingfish::Datastore do it "is abstract" do expect { described_class.new }.to raise_error( NoMethodError, /private/i ) diff --git a/spec/thingfish/handler_spec.rb b/spec/thingfish/handler_spec.rb --- a/spec/thingfish/handler_spec.rb +++ b/spec/thingfish/handler_spec.rb @@ -7,7 +7,7 @@ require 'thingfish/processor' -describe Thingfish::Handler do +RSpec.describe Thingfish::Handler do EVENT_SOCKET_URI = 'tcp://127.0.0.1:*' diff --git a/spec/thingfish/metastore/memory_spec.rb b/spec/thingfish/metastore/memory_spec.rb --- a/spec/thingfish/metastore/memory_spec.rb +++ b/spec/thingfish/metastore/memory_spec.rb @@ -8,7 +8,7 @@ require 'thingfish/behaviors' -describe Thingfish::Metastore::Memory do +RSpec.describe Thingfish::Metastore::Memory do it_behaves_like "a Thingfish metastore" diff --git a/spec/thingfish/metastore_spec.rb b/spec/thingfish/metastore_spec.rb --- a/spec/thingfish/metastore_spec.rb +++ b/spec/thingfish/metastore_spec.rb @@ -9,7 +9,7 @@ end -describe Thingfish::Metastore do +RSpec.describe Thingfish::Metastore do before( :all ) do setup_logging() diff --git a/spec/thingfish/mixins_spec.rb b/spec/thingfish/mixins_spec.rb --- a/spec/thingfish/mixins_spec.rb +++ b/spec/thingfish/mixins_spec.rb @@ -8,7 +8,7 @@ require 'thingfish/mixins' -describe Thingfish, 'mixins' do +RSpec.describe Thingfish, 'mixins' do # A collection of functions for dealing with object IDs. describe 'Normalization' do diff --git a/spec/thingfish/processor/sha256_spec.rb b/spec/thingfish/processor/sha256_spec.rb --- a/spec/thingfish/processor/sha256_spec.rb +++ b/spec/thingfish/processor/sha256_spec.rb @@ -8,7 +8,7 @@ require 'strelka/httprequest/metadata' -describe Thingfish::Processor, "SHA256" do +RSpec.describe Thingfish::Processor, "SHA256" do before( :all ) do Strelka::HTTPRequest.class_eval { include Strelka::HTTPRequest::Metadata } diff --git a/spec/thingfish/processor_spec.rb b/spec/thingfish/processor_spec.rb --- a/spec/thingfish/processor_spec.rb +++ b/spec/thingfish/processor_spec.rb @@ -6,7 +6,7 @@ require 'thingfish/processor' -describe Thingfish::Processor do +RSpec.describe Thingfish::Processor do before( :all ) do setup_logging() diff --git a/spec/thingfish_spec.rb b/spec/thingfish_spec.rb --- a/spec/thingfish_spec.rb +++ b/spec/thingfish_spec.rb @@ -6,7 +6,7 @@ require 'thingfish' -describe Thingfish do +RSpec.describe Thingfish do it "returns a version string if asked" do expect( described_class.version_string ).to match( /\w+ [\d.]+/ ) diff --git a/thingfish.gemspec b/thingfish.gemspec --- a/thingfish.gemspec +++ b/thingfish.gemspec @@ -1,54 +1,37 @@ # -*- encoding: utf-8 -*- -# stub: thingfish 0.7.0.pre20170119154654 ruby lib +# stub: thingfish 0.8.0.pre.20200304144036 ruby lib Gem::Specification.new do |s| s.name = "thingfish".freeze - s.version = "0.7.0.pre20170119154654" + s.version = "0.8.0.pre.20200304144036" s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".freeze) if s.respond_to? :required_rubygems_version= + s.metadata = { "bug_tracker_uri" => "https://todo.sr.ht/~ged/thingfish", "changelog_uri" => "https://thing.fish/docs/History_md.html", "documentation_uri" => "https://thing.fish/docs/", "homepage_uri" => "https://thing.fish", "source_uri" => "https://hg.sr.ht/~ged/thingfish" } if s.respond_to? :metadata= s.require_paths = ["lib".freeze] s.authors = ["Michael Granger".freeze, "Mahlon E. Smith".freeze] - s.cert_chain = ["certs/ged.pem".freeze] - s.date = "2017-01-19" - s.description = "Thingfish is a extensible, web-based digital asset manager. It can be used to\nstore chunks of data on the network in an application-independent way, link the\nchunks together with metadata, and then search for the chunk you need later and\nfetch it, all through a REST API.".freeze + s.date = "2020-03-04" + s.description = "Thingfish is a extensible, web-based digital asset manager. It can be used to store chunks of data on the network in an application-independent way, link the chunks together with metadata, and then search for the chunk you need later and fetch it, all through a REST API.".freeze s.email = ["ged@FaerieMUD.org".freeze, "mahlon@martini.nu".freeze] s.executables = ["thingfish".freeze] - s.extra_rdoc_files = ["History.rdoc".freeze, "Manifest.txt".freeze, "README.rdoc".freeze, "History.rdoc".freeze, "README.rdoc".freeze] - s.files = [".simplecov".freeze, "ChangeLog".freeze, "Gemfile".freeze, "History.rdoc".freeze, "LICENSE".freeze, "Manifest.txt".freeze, "Procfile".freeze, "README.rdoc".freeze, "Rakefile".freeze, "bin/thingfish".freeze, "etc/mongrel2-config.rb".freeze, "etc/thingfish.conf.example".freeze, "lib/strelka/app/metadata.rb".freeze, "lib/strelka/apps.rb".freeze, "lib/strelka/httprequest/metadata.rb".freeze, "lib/thingfish.rb".freeze, "lib/thingfish/behaviors.rb".freeze, "lib/thingfish/datastore.rb".freeze, "lib/thingfish/datastore/memory.rb".freeze, "lib/thingfish/handler.rb".freeze, "lib/thingfish/metastore.rb".freeze, "lib/thingfish/metastore/memory.rb".freeze, "lib/thingfish/mixins.rb".freeze, "lib/thingfish/processor.rb".freeze, "lib/thingfish/processor/sha256.rb".freeze, "lib/thingfish/spechelpers.rb".freeze, "spec/data/APIC-1-image.mp3".freeze, "spec/data/APIC-2-images.mp3".freeze, "spec/data/PIC-1-image.mp3".freeze, "spec/data/PIC-2-images.mp3".freeze, "spec/helpers.rb".freeze, "spec/spec.opts".freeze, "spec/thingfish/datastore/memory_spec.rb".freeze, "spec/thingfish/datastore_spec.rb".freeze, "spec/thingfish/handler_spec.rb".freeze, "spec/thingfish/metastore/memory_spec.rb".freeze, "spec/thingfish/metastore_spec.rb".freeze, "spec/thingfish/mixins_spec.rb".freeze, "spec/thingfish/processor/sha256_spec.rb".freeze, "spec/thingfish/processor_spec.rb".freeze, "spec/thingfish_spec.rb".freeze] + s.files = [".simplecov".freeze, "History.md".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/thingfish".freeze, "lib/strelka/app/metadata.rb".freeze, "lib/strelka/apps.rb".freeze, "lib/strelka/httprequest/metadata.rb".freeze, "lib/thingfish.rb".freeze, "lib/thingfish/behaviors.rb".freeze, "lib/thingfish/datastore.rb".freeze, "lib/thingfish/datastore/memory.rb".freeze, "lib/thingfish/handler.rb".freeze, "lib/thingfish/metastore.rb".freeze, "lib/thingfish/metastore/memory.rb".freeze, "lib/thingfish/mixins.rb".freeze, "lib/thingfish/processor.rb".freeze, "lib/thingfish/processor/sha256.rb".freeze, "lib/thingfish/spechelpers.rb".freeze, "spec/data/APIC-1-image.mp3".freeze, "spec/data/APIC-2-images.mp3".freeze, "spec/data/PIC-1-image.mp3".freeze, "spec/data/PIC-2-images.mp3".freeze, "spec/helpers.rb".freeze, "spec/spec.opts".freeze, "spec/thingfish/datastore/memory_spec.rb".freeze, "spec/thingfish/datastore_spec.rb".freeze, "spec/thingfish/handler_spec.rb".freeze, "spec/thingfish/metastore/memory_spec.rb".freeze, "spec/thingfish/metastore_spec.rb".freeze, "spec/thingfish/mixins_spec.rb".freeze, "spec/thingfish/processor/sha256_spec.rb".freeze, "spec/thingfish/processor_spec.rb".freeze, "spec/thingfish_spec.rb".freeze] s.homepage = "https://thing.fish".freeze - s.licenses = ["BSD-3-Clause".freeze, "BSD".freeze] - s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] - s.required_ruby_version = Gem::Requirement.new(">= 2.0.0".freeze) - s.rubygems_version = "2.6.8".freeze - s.summary = "Thingfish is a extensible, web-based digital asset manager".freeze + s.licenses = ["BSD-3-Clause".freeze] + s.rubygems_version = "3.1.2".freeze + s.summary = "Thingfish is a extensible, web-based digital asset manager.".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.freeze, ["~> 0.14"]) - s.add_development_dependency(%q.freeze, ["~> 1.4"]) - s.add_development_dependency(%q.freeze, ["~> 0.8"]) - s.add_development_dependency(%q.freeze, ["~> 0.2"]) - s.add_development_dependency(%q.freeze, ["~> 0.7"]) - s.add_development_dependency(%q.freeze, ["~> 4.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.15"]) - else - s.add_dependency(%q.freeze, ["~> 0.14"]) - s.add_dependency(%q.freeze, ["~> 1.4"]) - s.add_dependency(%q.freeze, ["~> 0.8"]) - s.add_dependency(%q.freeze, ["~> 0.2"]) - s.add_dependency(%q.freeze, ["~> 0.7"]) - s.add_dependency(%q.freeze, ["~> 4.0"]) - s.add_dependency(%q.freeze, ["~> 3.15"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 0.14"]) + s.add_development_dependency(%q.freeze, ["~> 0.10"]) + s.add_development_dependency(%q.freeze, ["~> 0.4"]) + s.add_development_dependency(%q.freeze, ["~> 0.18"]) else s.add_dependency(%q.freeze, ["~> 0.14"]) - s.add_dependency(%q.freeze, ["~> 1.4"]) - s.add_dependency(%q.freeze, ["~> 0.8"]) - s.add_dependency(%q.freeze, ["~> 0.2"]) - s.add_dependency(%q.freeze, ["~> 0.7"]) - s.add_dependency(%q.freeze, ["~> 4.0"]) - s.add_dependency(%q.freeze, ["~> 3.15"]) + s.add_dependency(%q.freeze, ["~> 0.10"]) + s.add_dependency(%q.freeze, ["~> 0.4"]) + s.add_dependency(%q.freeze, ["~> 0.18"]) end end