gorge 1.0.0 → 2.0.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
- data/CHANGELOG.md +13 -0
- data/Gemfile +3 -0
- data/README.md +18 -29
- data/Rakefile +0 -13
- data/gorge.gemspec +10 -12
- data/lib/gorge/digest/crc32.rb +3 -5
- data/lib/gorge/digest/instance.rb +6 -4
- data/lib/gorge/pathname.rb +0 -0
- data/lib/gorge/string.rb +0 -0
- data/lib/gorge/version.rb +1 -1
- metadata +10 -70
- data/.gitignore +0 -9
- data/.travis.yml +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 84ef1d2d9f1980934f88f40eae3ba7372cdb4c6b1d17072cbc0ba185f42d6f2a
|
|
4
|
+
data.tar.gz: dd7a3f5d6cf6fa721ef3b36b5c074671ea573a11a1dcab0ca9dbfbb00c61dad9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bdd00d5e8fd639c144fb4b0444e2fd6d8452ce315570a6855bf26b7a1932a9079446c1520334c512cd26cf675033f01d7ab1c054338970735090083797945268
|
|
7
|
+
data.tar.gz: d16c4bfa0105bf6ffaf80cd763e91405a703cd1f2aef57bc77686533b6e35e4cceee76d00d6b11138ef06995da879666f749f3b97642a627fe0d2325ec336178
|
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,48 +1,37 @@
|
|
|
1
1
|
# gorge
|
|
2
2
|
|
|
3
|
-
Convenient access to Ruby's Digest module via extensions to Ruby core
|
|
4
|
-
objects.
|
|
3
|
+
Convenient access to Ruby's `Digest` module via extensions to Ruby core
|
|
4
|
+
objects. `gorge` also provides an idiomatic `Digest::CRC32` wrapper
|
|
5
5
|
over the CRC32 functionality provided by Ruby's built-in Zlib module.
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
## API
|
|
9
9
|
|
|
10
|
-
- [Digest](
|
|
11
|
-
- [
|
|
12
|
-
- [Digest::CRC32](
|
|
13
|
-
- [Pathname](
|
|
14
|
-
- [
|
|
15
|
-
- [
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [String](
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
10
|
+
- [`Digest`](https://www.rubydoc.info/gems/gorge/Digest/Instance)
|
|
11
|
+
- [`#io`](https://www.rubydoc.info/gems/gorge/Digest%2FInstance:io)
|
|
12
|
+
- [`Digest::CRC32`](https://www.rubydoc.info/gems/gorge/Digest/CRC32)
|
|
13
|
+
- [`Pathname`](https://www.rubydoc.info/gems/gorge/Pathname)
|
|
14
|
+
- [`#file_crc32`](https://www.rubydoc.info/gems/gorge/Pathname:file_crc32)
|
|
15
|
+
- [`#file_md5`](https://www.rubydoc.info/gems/gorge/Pathname:file_md5)
|
|
16
|
+
- [`#file_sha1`](https://www.rubydoc.info/gems/gorge/Pathname:file_sha1)
|
|
17
|
+
- [`#file_sha256`](https://www.rubydoc.info/gems/gorge/Pathname:file_sha256)
|
|
18
|
+
- [`String`](https://www.rubydoc.info/gems/gorge/String)
|
|
19
|
+
- [`#crc32`](https://www.rubydoc.info/gems/gorge/String:crc32)
|
|
20
|
+
- [`#md5`](https://www.rubydoc.info/gems/gorge/String:md5)
|
|
21
|
+
- [`#sha1`](https://www.rubydoc.info/gems/gorge/String:sha1)
|
|
22
|
+
- [`#sha256`](https://www.rubydoc.info/gems/gorge/String:sha256)
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
## Installation
|
|
26
26
|
|
|
27
|
-
Install
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
$ gem install gorge
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Then require in your Ruby script:
|
|
34
|
-
|
|
35
|
-
```ruby
|
|
36
|
-
require "gorge"
|
|
37
|
-
```
|
|
27
|
+
Install the [`gorge` gem](https://rubygems.org/gems/gorge).
|
|
38
28
|
|
|
39
29
|
|
|
40
30
|
## Contributing
|
|
41
31
|
|
|
42
|
-
Run `rake test` to run the tests.
|
|
43
|
-
interactive prompt that pre-loads the project code.
|
|
32
|
+
Run `rake test` to run the tests.
|
|
44
33
|
|
|
45
34
|
|
|
46
35
|
## License
|
|
47
36
|
|
|
48
|
-
[MIT License](
|
|
37
|
+
[MIT License](LICENSE.txt)
|
data/Rakefile
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
require "bundler/gem_tasks"
|
|
2
2
|
require "rake/testtask"
|
|
3
|
-
require "yard"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
YARD::Rake::YardocTask.new(:doc) do |t|
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
desc "Launch IRB with this gem pre-loaded"
|
|
10
|
-
task :irb do
|
|
11
|
-
require "gorge"
|
|
12
|
-
require "irb"
|
|
13
|
-
ARGV.clear
|
|
14
|
-
IRB.start
|
|
15
|
-
end
|
|
16
3
|
|
|
17
4
|
Rake::TestTask.new(:test) do |t|
|
|
18
5
|
t.libs << "test"
|
data/gorge.gemspec
CHANGED
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require "gorge/version"
|
|
1
|
+
require_relative "lib/gorge/version"
|
|
5
2
|
|
|
6
3
|
Gem::Specification.new do |spec|
|
|
7
4
|
spec.name = "gorge"
|
|
8
5
|
spec.version = Gorge::VERSION
|
|
9
6
|
spec.authors = ["Jonathan Hefner"]
|
|
10
|
-
spec.email = ["jonathan
|
|
7
|
+
spec.email = ["jonathan@hefner.pro"]
|
|
11
8
|
|
|
12
9
|
spec.summary = %q{Convenient access to Ruby's Digest module}
|
|
13
10
|
spec.homepage = "https://github.com/jonathanhefner/gorge"
|
|
14
11
|
spec.license = "MIT"
|
|
12
|
+
spec.required_ruby_version = ">= 3.4"
|
|
15
13
|
|
|
16
|
-
spec.
|
|
17
|
-
|
|
14
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
|
15
|
+
spec.metadata["changelog_uri"] = spec.metadata["source_code_uri"] + "/blob/master/CHANGELOG.md"
|
|
16
|
+
|
|
17
|
+
# Specify which files should be added to the gem when it is released.
|
|
18
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
19
|
+
spec.files = Dir.chdir(__dir__) do
|
|
20
|
+
`git ls-files -z`.split("\x0").reject { |f| f.start_with?("test/", ".git") }
|
|
18
21
|
end
|
|
19
22
|
spec.bindir = "exe"
|
|
20
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
24
|
spec.require_paths = ["lib"]
|
|
22
|
-
|
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.15"
|
|
24
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
|
25
|
-
spec.add_development_dependency "minitest", "~> 5.0"
|
|
26
|
-
spec.add_development_dependency "yard", "~> 0.9"
|
|
27
25
|
end
|
data/lib/gorge/digest/crc32.rb
CHANGED
|
@@ -18,20 +18,18 @@ class Digest::CRC32 < Digest::Class
|
|
|
18
18
|
4
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
# Resets the Digest to its initial state, and returns the Digest
|
|
22
|
-
# modified.
|
|
21
|
+
# Resets the Digest to its initial state, and returns the Digest.
|
|
23
22
|
#
|
|
24
23
|
# @return [self]
|
|
25
24
|
def reset
|
|
26
25
|
@crc32 = 0
|
|
27
26
|
end
|
|
28
27
|
|
|
29
|
-
# Updates the Digest using the given string
|
|
30
|
-
# modified.
|
|
28
|
+
# Updates the Digest using the given +string+, and returns the Digest.
|
|
31
29
|
#
|
|
32
30
|
# @return [self]
|
|
33
31
|
def update(string)
|
|
34
|
-
@crc32 = Zlib.
|
|
32
|
+
@crc32 = Zlib.crc32(string, @crc32)
|
|
35
33
|
self
|
|
36
34
|
end
|
|
37
35
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
module Digest::Instance
|
|
2
2
|
|
|
3
3
|
# Updates the Digest using the entire contents of the given IO-like,
|
|
4
|
-
# and returns the Digest
|
|
5
|
-
# IO-like
|
|
6
|
-
#
|
|
4
|
+
# and returns the Digest. Before reading, saves the current position
|
|
5
|
+
# of the IO-like, and seeks to the beginning. After reading, seeks
|
|
6
|
+
# back to the saved position.
|
|
7
|
+
#
|
|
8
|
+
# @see https://docs.ruby-lang.org/en/master/Digest/Instance.html#method-i-file Digest::Instance#file
|
|
7
9
|
#
|
|
8
10
|
# @param io_like [IO, StringIO, IO-like]
|
|
9
11
|
# @return [self]
|
|
@@ -11,7 +13,7 @@ module Digest::Instance
|
|
|
11
13
|
pos = io_like.pos # save position
|
|
12
14
|
io_like.seek(0)
|
|
13
15
|
|
|
14
|
-
buffer = ""
|
|
16
|
+
buffer = +""
|
|
15
17
|
while io_like.read(16384, buffer)
|
|
16
18
|
self.update(buffer)
|
|
17
19
|
end
|
data/lib/gorge/pathname.rb
CHANGED
|
File without changes
|
data/lib/gorge/string.rb
CHANGED
|
File without changes
|
data/lib/gorge/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,80 +1,21 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gorge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan Hefner
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: bundler
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.15'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.15'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: rake
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '10.0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '10.0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: minitest
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '5.0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '5.0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: yard
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0.9'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0.9'
|
|
69
|
-
description:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
70
12
|
email:
|
|
71
|
-
- jonathan
|
|
13
|
+
- jonathan@hefner.pro
|
|
72
14
|
executables: []
|
|
73
15
|
extensions: []
|
|
74
16
|
extra_rdoc_files: []
|
|
75
17
|
files:
|
|
76
|
-
-
|
|
77
|
-
- ".travis.yml"
|
|
18
|
+
- CHANGELOG.md
|
|
78
19
|
- Gemfile
|
|
79
20
|
- LICENSE.txt
|
|
80
21
|
- README.md
|
|
@@ -89,8 +30,9 @@ files:
|
|
|
89
30
|
homepage: https://github.com/jonathanhefner/gorge
|
|
90
31
|
licenses:
|
|
91
32
|
- MIT
|
|
92
|
-
metadata:
|
|
93
|
-
|
|
33
|
+
metadata:
|
|
34
|
+
source_code_uri: https://github.com/jonathanhefner/gorge
|
|
35
|
+
changelog_uri: https://github.com/jonathanhefner/gorge/blob/master/CHANGELOG.md
|
|
94
36
|
rdoc_options: []
|
|
95
37
|
require_paths:
|
|
96
38
|
- lib
|
|
@@ -98,16 +40,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
98
40
|
requirements:
|
|
99
41
|
- - ">="
|
|
100
42
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: '
|
|
43
|
+
version: '3.4'
|
|
102
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
45
|
requirements:
|
|
104
46
|
- - ">="
|
|
105
47
|
- !ruby/object:Gem::Version
|
|
106
48
|
version: '0'
|
|
107
49
|
requirements: []
|
|
108
|
-
|
|
109
|
-
rubygems_version: 2.4.8
|
|
110
|
-
signing_key:
|
|
50
|
+
rubygems_version: 4.0.10
|
|
111
51
|
specification_version: 4
|
|
112
52
|
summary: Convenient access to Ruby's Digest module
|
|
113
53
|
test_files: []
|
data/.gitignore
DELETED