thingfish 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.md +48 -0
- data/{README.rdoc → README.md} +40 -30
- data/Rakefile +4 -86
- data/bin/thingfish +1 -1
- data/lib/strelka/app/metadata.rb +1 -1
- data/lib/strelka/apps.rb +1 -1
- data/lib/strelka/httprequest/metadata.rb +1 -1
- data/lib/thingfish.rb +2 -2
- data/lib/thingfish/behaviors.rb +1 -1
- data/lib/thingfish/datastore.rb +1 -1
- data/lib/thingfish/datastore/memory.rb +1 -1
- data/lib/thingfish/handler.rb +1 -1
- data/lib/thingfish/metastore.rb +1 -1
- data/lib/thingfish/metastore/memory.rb +1 -1
- data/lib/thingfish/mixins.rb +1 -1
- data/lib/thingfish/processor.rb +1 -1
- data/lib/thingfish/processor/sha256.rb +2 -2
- data/lib/thingfish/spechelpers.rb +1 -1
- data/spec/helpers.rb +19 -12
- data/spec/thingfish/datastore/memory_spec.rb +1 -1
- data/spec/thingfish/datastore_spec.rb +1 -1
- data/spec/thingfish/handler_spec.rb +175 -184
- data/spec/thingfish/metastore/memory_spec.rb +1 -1
- data/spec/thingfish/metastore_spec.rb +1 -1
- data/spec/thingfish/mixins_spec.rb +1 -1
- data/spec/thingfish/processor/sha256_spec.rb +1 -1
- data/spec/thingfish/processor_spec.rb +1 -1
- data/spec/thingfish_spec.rb +1 -1
- metadata +52 -100
- metadata.gz.sig +0 -0
- data/ChangeLog +0 -8826
- data/Gemfile +0 -2
- data/History.rdoc +0 -27
- data/Manifest.txt +0 -41
- data/Procfile +0 -4
- data/etc/mongrel2-config.rb +0 -57
- data/etc/thingfish.conf.example +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 767d737d3f8a3ca3cae2d7f5b01fa7e7b1967127585efe3201b55fce50a46500
|
4
|
+
data.tar.gz: 769440ac44975755940720e4cd95a610c072874e3c5a1f709bcf3e7cf6cabf39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a83f80a9b4efa7c7e651f2fd1791e4424fa2bd63d6b304b4cc622cfcfc1fd2840ffd1fee370722cc4399453ac662efffc2591e51e054acb33e8e72e776d7a30c
|
7
|
+
data.tar.gz: d6244bb6e4b2c340f977f12ed0f19631bbdd6a10815973c44880c0ebbc8c841b6296744f7cb331ed71a776e26c2d7f24cac136b510afe1eceebe0eb110ff822c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.md
ADDED
@@ -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
|
+
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,8 +1,16 @@
|
|
1
|
-
|
1
|
+
# Thingfish
|
2
2
|
|
3
|
-
|
3
|
+
home
|
4
|
+
: https://thing.fish
|
4
5
|
|
5
|
-
|
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
|
-
|
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
|
-
|
27
|
+
## Installation
|
28
28
|
|
29
|
-
|
30
|
-
but are not tested.
|
29
|
+
You can install Thingfish via Rubygems:
|
31
30
|
|
32
|
-
|
31
|
+
$ gem install thingfish
|
33
32
|
|
34
|
-
|
33
|
+
This will install the basic server and its dependencies. Additional functionality is available via separate gems in the following namespaces:
|
35
34
|
|
36
|
-
|
35
|
+
`thingfish-metastore-*`
|
36
|
+
: Storage backends for resource metadata
|
37
37
|
|
38
|
-
|
38
|
+
`thingfish-filestore-*`
|
39
|
+
: Storage backends for resources themselves
|
39
40
|
|
40
|
-
|
41
|
-
|
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
|
-
|
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
|
-
|
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-
|
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
|
-
|
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
|
-
|
66
|
-
|
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
|
-
|
data/bin/thingfish
CHANGED
data/lib/strelka/app/metadata.rb
CHANGED
data/lib/strelka/apps.rb
CHANGED
data/lib/thingfish.rb
CHANGED
@@ -12,10 +12,10 @@ module Thingfish
|
|
12
12
|
|
13
13
|
|
14
14
|
# Package version
|
15
|
-
VERSION = '0.
|
15
|
+
VERSION = '0.8.0'
|
16
16
|
|
17
17
|
# Version control revision
|
18
|
-
REVISION = %q$Revision
|
18
|
+
REVISION = %q$Revision$
|
19
19
|
|
20
20
|
|
21
21
|
### Get the library version. If +include_buildnum+ is true, the version string will
|
data/lib/thingfish/behaviors.rb
CHANGED
data/lib/thingfish/datastore.rb
CHANGED
data/lib/thingfish/handler.rb
CHANGED
data/lib/thingfish/metastore.rb
CHANGED
data/lib/thingfish/mixins.rb
CHANGED
data/lib/thingfish/processor.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#
|
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 )
|
data/spec/helpers.rb
CHANGED
@@ -42,25 +42,32 @@ Loggability.format_with( :color ) if $stdout.tty?
|
|
42
42
|
|
43
43
|
|
44
44
|
### Mock with RSpec
|
45
|
-
RSpec.configure do |
|
45
|
+
RSpec.configure do |config|
|
46
46
|
include Strelka::Constants
|
47
47
|
include Thingfish::SpecHelpers
|
48
48
|
include Thingfish::SpecHelpers::Constants
|
49
49
|
|
50
|
-
|
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
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
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:
|