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 +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:
|