thingfish 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9a0df5e14498c987d01ba054873bcfad3e98c364
4
- data.tar.gz: b63b33e9f59288acc5d9759a082d13ccfde6b8b0
2
+ SHA256:
3
+ metadata.gz: 767d737d3f8a3ca3cae2d7f5b01fa7e7b1967127585efe3201b55fce50a46500
4
+ data.tar.gz: 769440ac44975755940720e4cd95a610c072874e3c5a1f709bcf3e7cf6cabf39
5
5
  SHA512:
6
- metadata.gz: 217f66c0d72e2f644516b6e2b35967a61f519c7c848849d6b3a721721628415e50c95ef9630aba0dde4a9afbd789a52aa16ba4252387f18b872f7246e080b373
7
- data.tar.gz: a68b9ffaa68472217321e300962486cb8ad72cd0658f995e7158e5e6c36d3622f700fadc226d15b1152c7160174efe8ec657e5ba9ea2cd045bfa7354b562c983
6
+ metadata.gz: a83f80a9b4efa7c7e651f2fd1791e4424fa2bd63d6b304b4cc622cfcfc1fd2840ffd1fee370722cc4399453ac662efffc2591e51e054acb33e8e72e776d7a30c
7
+ data.tar.gz: d6244bb6e4b2c340f977f12ed0f19631bbdd6a10815973c44880c0ebbc8c841b6296744f7cb331ed71a776e26c2d7f24cac136b510afe1eceebe0eb110ff822c
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,48 @@
1
+ # Release History for thingfish
2
+
3
+ ---
4
+
5
+ ## v0.8.0 [2021-01-02] Michael Granger <ged@FaerieMUD.org>
6
+
7
+ Improvements:
8
+
9
+ - Several bugfixes
10
+ - Support for newer Rubies
11
+
12
+
13
+ ## v0.7.0 [2017-09-13] Michael Granger <ged@FaerieMUD.org>
14
+
15
+ Improvements:
16
+
17
+ - Explicitly set the HTTP status when returning resources.
18
+ - Add Last-Modified/If-None-Match support.
19
+ - Move the configure() method to help support deferred configuration.
20
+
21
+
22
+ ## v0.6.0 [2017-01-16] Mahlon E. Smith <mahlon@martini.nu>
23
+
24
+ Housekeeping:
25
+
26
+ - Bump Configurability dependency.
27
+ - Migrate away from .rvmrc.
28
+
29
+
30
+ ## v0.5.1 [2016-11-14] Michael Granger <ged@FaerieMUD.org>
31
+
32
+ Enhancements:
33
+
34
+ - Add support for Strelka app discovery.
35
+
36
+ Bugfixes:
37
+
38
+ - Remove the processor daemon for now
39
+ - Documentation fixes
40
+
41
+
42
+ ## v0.5.0 [2016-11-14] Michael Granger <ged@FaerieMUD.org>
43
+
44
+ First public release.
45
+
46
+
47
+
48
+
@@ -1,8 +1,16 @@
1
- = Thingfish
1
+ # Thingfish
2
2
 
3
- * https://thing.fish
3
+ home
4
+ : https://thing.fish
4
5
 
5
- == Description
6
+ code
7
+ : https://hg.sr.ht/~ged/thingfish
8
+
9
+ docs
10
+ : https://thing.fish/docs/
11
+
12
+
13
+ ## Description
6
14
 
7
15
  Thingfish is a extensible, web-based digital asset manager. It can be used to
8
16
  store chunks of data on the network in an application-independent way, link the
@@ -10,42 +18,31 @@ chunks together with metadata, and then search for the chunk you need later and
10
18
  fetch it, all through a REST API.
11
19
 
12
20
 
13
- == Authors
14
-
15
- * Michael Granger <ged@FaerieMUD.org>
16
- * Mahlon E. Smith <mahlon@martini.nu>
17
-
18
- == Contributors
19
-
20
- * Jeremiah Jordan <phaedrus@perlreason.com>
21
- * Ben Bleything <ben@bleything.net>
22
- * Jeff Davis <jeff-thingfish@j-davis.com>
21
+ ## Requirements
23
22
 
23
+ Thingfish is written in ruby, and is tested using [version 2.7](http://www.ruby-lang.org/en/downloads/). Other versions may work,
24
+ but are not tested.
24
25
 
25
- == Installation
26
26
 
27
- === Requirements
27
+ ## Installation
28
28
 
29
- Thingfish is written in ruby, and is tested using {version 2.3}[http://www.ruby-lang.org/en/downloads/]. Other versions may work,
30
- but are not tested.
29
+ You can install Thingfish via Rubygems:
31
30
 
32
- === Ruby Modules
31
+ $ gem install thingfish
33
32
 
34
- You can install Thingfish via the Rubygems package manager:
33
+ This will install the basic server and its dependencies. Additional functionality is available via separate gems in the following namespaces:
35
34
 
36
- $ gem install thingfish
35
+ `thingfish-metastore-*`
36
+ : Storage backends for resource metadata
37
37
 
38
- This will install the basic server and its dependencies. Additional functionality is available via separate gems in the following namespaces:
38
+ `thingfish-filestore-*`
39
+ : Storage backends for resources themselves
39
40
 
40
- [thingfish-metastore-*]
41
- Storage backends for resource metadata
42
- [thingfish-filestore-*]
43
- Storage backends for resources themselves
44
- [thingfish-processor-*]
45
- Filters and extractors for resources
41
+ `thingfish-processor-*`
42
+ : Filters and extractors for resources
46
43
 
47
44
 
48
- == Contributing
45
+ ## Contributing
49
46
 
50
47
  You can check out the current development source
51
48
  {with Mercurial}[http://bitbucket.org/ged/thingfish], or
@@ -63,9 +60,22 @@ You can submit bug reports, suggestions, and read more about future plans at
63
60
  {the project page}[http://bitbucket.org/ged/thingfish].
64
61
 
65
62
 
66
- == License
63
+ ## Authors
64
+
65
+ * Michael Granger <ged@FaerieMUD.org>
66
+ * Mahlon E. Smith <mahlon@martini.nu>
67
+
68
+
69
+ ## Contributors
70
+
71
+ * Jeremiah Jordan <phaedrus@perlreason.com>
72
+ * Ben Bleything <ben@bleything.net>
73
+ * Jeff Davis <jeff-thingfish@j-davis.com>
74
+
75
+
76
+ ## License
67
77
 
68
- Copyright (c) 2007-2016, Michael Granger and Mahlon E. Smith
78
+ Copyright (c) 2007-2020, Michael Granger and Mahlon E. Smith
69
79
  All rights reserved.
70
80
 
71
81
  Redistribution and use in source and binary forms, with or without
data/Rakefile CHANGED
@@ -1,90 +1,8 @@
1
- #!/usr/bin/env rake
2
- #encoding: utf-8
1
+ #!/usr/bin/env ruby -S rake
3
2
 
4
- begin
5
- require 'hoe'
6
- rescue LoadError
7
- abort "This Rakefile requires hoe (gem install hoe)"
8
- end
9
-
10
- GEMSPEC = 'thingfish.gemspec'
11
-
12
-
13
- Hoe.plugin :mercurial
14
- Hoe.plugin :signing
15
- Hoe.plugin :deveiate
16
-
17
- Hoe.plugins.delete :rubyforge
18
-
19
- hoespec = Hoe.spec 'thingfish' do
20
- self.readme_file = 'README.rdoc'
21
- self.history_file = 'History.rdoc'
22
- self.extra_rdoc_files = Rake::FileList[ '*.rdoc' ]
23
- self.license 'BSD-3-Clause'
24
-
25
- self.developer 'Michael Granger', 'ged@FaerieMUD.org'
26
- self.developer 'Mahlon E. Smith', 'mahlon@martini.nu'
27
- self.license "BSD"
28
-
29
- self.dependency 'strelka', '~> 0.14'
30
-
31
- self.dependency 'hoe-deveiate', '~> 0.3', :development
32
- self.dependency 'simplecov', '~> 0.7', :development
33
-
34
- self.require_ruby_version( '>=2.0.0' )
35
-
36
- self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
37
- spec.check_history_on_release = true if spec.respond_to?( :check_history_on_release= )
38
-
39
- self.rdoc_locations << "deveiate:/usr/local/thingfish/api"
40
- end
41
-
42
- ENV['VERSION'] ||= hoespec.spec.version.to_s
43
-
44
- # Run the tests before checking in
45
- task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ]
46
-
47
- task :test => :spec
48
-
49
- # Rebuild the ChangeLog immediately before release
50
- task :prerelease => 'ChangeLog'
51
- CLOBBER.include( 'ChangeLog' )
52
-
53
- desc "Build a coverage report"
54
- task :coverage do
55
- ENV["COVERAGE"] = 'yes'
56
- Rake::Task[:spec].invoke
57
- end
58
- CLOBBER.include( 'coverage' )
59
-
60
-
61
- # Use the fivefish formatter for docs generated from development checkout
62
- if File.directory?( '.hg' )
63
- require 'rdoc/task'
3
+ require 'rake/deveiate'
64
4
 
65
- Rake::Task[ 'docs' ].clear
66
- RDoc::Task.new( 'docs' ) do |rdoc|
67
- rdoc.main = "README.rdoc"
68
- rdoc.markup = 'markdown'
69
- rdoc.rdoc_files.include( "*.rdoc", "ChangeLog", "lib/**/*.rb" )
70
- rdoc.generator = :sixfish
71
- rdoc.title = 'Thingfish'
72
- rdoc.rdoc_dir = 'doc'
73
- end
5
+ Rake::DevEiate.setup( 'thingfish' ) do |project|
6
+ project.publish_to = 'deveiate:/usr/local/www/public/code'
74
7
  end
75
8
 
76
- task :gemspec => GEMSPEC
77
- file GEMSPEC => __FILE__
78
- task GEMSPEC do |task|
79
- spec = $hoespec.spec
80
- spec.files.delete( '.gemtest' )
81
- spec.signing_key = nil
82
- spec.cert_chain = Dir.glob( 'certs/*.pem' )
83
- spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
84
- File.open( task.name, 'w' ) do |fh|
85
- fh.write( spec.to_ruby )
86
- end
87
- end
88
-
89
- CLOBBER.include( GEMSPEC.to_s )
90
-
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'strelka'
5
5
  require 'thingfish/handler'
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'strelka'
5
5
  require 'strelka/plugins'
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'strelka/discovery'
5
5
 
@@ -1,6 +1,6 @@
1
1
  # -*- ruby -*-
2
2
  # vim: set nosta noet ts=4 sw=4:
3
- # encoding: utf-8
3
+ # frozen_string_literal: true
4
4
 
5
5
  require 'strelka/constants'
6
6
  require 'strelka/httprequest' unless defined?( Strelka::HTTPRequest )
@@ -12,10 +12,10 @@ module Thingfish
12
12
 
13
13
 
14
14
  # Package version
15
- VERSION = '0.7.0'
15
+ VERSION = '0.8.0'
16
16
 
17
17
  # Version control revision
18
- REVISION = %q$Revision: c8bfee4b3f80 $
18
+ REVISION = %q$Revision$
19
19
 
20
20
 
21
21
  ### Get the library version. If +include_buildnum+ is true, the version string will
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'rspec'
5
5
 
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'securerandom'
5
5
  require 'pluggability'
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'thingfish' unless defined?( Thingfish )
5
5
  require 'thingfish/datastore' unless defined?( Thingfish::Datastore )
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'strelka'
5
5
  require 'strelka/app'
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'pluggability'
5
5
  require 'strelka'
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'thingfish' unless defined?( Thingfish )
5
5
  require 'thingfish/metastore' unless defined?( Thingfish::Metastore )
@@ -1,6 +1,6 @@
1
1
  # -*- ruby -*-
2
2
  # vim: set nosta noet ts=4 sw=4:
3
- # encoding: utf-8
3
+ # frozen_string_literal: true
4
4
 
5
5
  require 'securerandom'
6
6
 
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'pluggability'
5
5
  require 'strelka/httprequest/acceptparams'
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'digest/sha2'
5
5
 
@@ -37,7 +37,7 @@ class Thingfish::Processor::SHA256 < Thingfish::Processor
37
37
  ### Given an +io+, return a sha256 checksum of it's contents.
38
38
  def checksum( io )
39
39
  digest = Digest::SHA256.new
40
- buf = ''
40
+ buf = String.new
41
41
 
42
42
  while io.read( CHUNK_SIZE, buf )
43
43
  digest.update( buf )
@@ -1,5 +1,5 @@
1
1
  # -*- ruby -*-
2
- #encoding: utf-8
2
+ # frozen_string_literal: true
3
3
  # vim: set nosta noet ts=4 sw=4 ft=ruby:
4
4
 
5
5
  require 'time'
@@ -42,25 +42,32 @@ Loggability.format_with( :color ) if $stdout.tty?
42
42
 
43
43
 
44
44
  ### Mock with RSpec
45
- RSpec.configure do |c|
45
+ RSpec.configure do |config|
46
46
  include Strelka::Constants
47
47
  include Thingfish::SpecHelpers
48
48
  include Thingfish::SpecHelpers::Constants
49
49
 
50
- c.run_all_when_everything_filtered = true
51
- c.filter_run :focus
52
- c.order = 'random'
53
- c.mock_with( :rspec ) do |mock|
50
+ config.mock_with( :rspec ) do |mock|
54
51
  mock.syntax = :expect
55
52
  end
56
53
 
57
- c.include( Loggability::SpecHelpers )
58
- c.include( Mongrel2::SpecHelpers )
59
- c.include( Mongrel2::Constants )
60
- c.include( Mongrel2::Config::DSL )
61
- c.include( Strelka::Constants )
62
- c.include( Strelka::Testing )
63
- c.include( Thingfish::SpecHelpers )
54
+ config.disable_monkey_patching!
55
+ config.example_status_persistence_file_path = "spec/.status"
56
+ config.filter_run :focus
57
+ config.filter_run_when_matching :focus
58
+ config.order = :random
59
+ config.profile_examples = 5
60
+ config.run_all_when_everything_filtered = true
61
+ config.shared_context_metadata_behavior = :apply_to_host_groups
62
+ # config.warnings = true
63
+
64
+ config.include( Loggability::SpecHelpers )
65
+ config.include( Mongrel2::SpecHelpers )
66
+ config.include( Mongrel2::Constants )
67
+ config.include( Mongrel2::Config::DSL )
68
+ config.include( Strelka::Constants )
69
+ config.include( Strelka::Testing )
70
+ config.include( Thingfish::SpecHelpers )
64
71
  end
65
72
 
66
73
  # vim: set nosta noet ts=4 sw=4:
@@ -7,7 +7,7 @@ require 'thingfish/datastore'
7
7
  require 'thingfish/behaviors'
8
8
 
9
9
 
10
- describe Thingfish::Datastore, "memory" do
10
+ RSpec.describe Thingfish::Datastore, "memory" do
11
11
 
12
12
  let( :store ) { Thingfish::Datastore.create(:memory) }
13
13