gorge 1.0.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bacd79395803929f913481d7ba727d9232994df9f62895c3f1ea76e7b5113440
4
- data.tar.gz: 073fadb223be0b871619aa30480ef6c00325fd4bc1a76a58d42a757ce33a8590
3
+ metadata.gz: 84ef1d2d9f1980934f88f40eae3ba7372cdb4c6b1d17072cbc0ba185f42d6f2a
4
+ data.tar.gz: dd7a3f5d6cf6fa721ef3b36b5c074671ea573a11a1dcab0ca9dbfbb00c61dad9
5
5
  SHA512:
6
- metadata.gz: d46a90e7a9e5215537d9617057a19ef2835c2ee3e8e58617547979caec1a0ace979af8d70146d5ae0c5f6cb0b49e50081c84a63bcfd8c93dcd001d7bd5bb33e6
7
- data.tar.gz: 89c2ebc325fe7ef7faa5749c7df5860c91e19e70fb065eed8b9dc23282e8b1965e7f4231b0ca2512523254099768b7fed5ba7063fa8bdc10d7a16fc702e2e4b4
6
+ metadata.gz: bdd00d5e8fd639c144fb4b0444e2fd6d8452ce315570a6855bf26b7a1932a9079446c1520334c512cd26cf675033f01d7ab1c054338970735090083797945268
7
+ data.tar.gz: d16c4bfa0105bf6ffaf80cd763e91405a703cd1f2aef57bc77686533b6e35e4cceee76d00d6b11138ef06995da879666f749f3b97642a627fe0d2325ec336178
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 2.0.0
2
+
3
+ * [BREAKING] Drop support for Ruby < 3.4
4
+
5
+
1
6
  ## 1.0.1
2
7
 
3
8
  * Fix CRC32 for larger binary files
data/Gemfile CHANGED
@@ -2,3 +2,6 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in gorge.gemspec
4
4
  gemspec
5
+
6
+ gem "rake", "~> 13.0"
7
+ gem "minitest", "~> 6.0"
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. *gorge* also provides an idiomatic `Digest::CRC32` wrapper
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](http://www.rubydoc.info/gems/gorge/Digest/Instance)
11
- - [#io](http://www.rubydoc.info/gems/gorge/Digest%2FInstance:io)
12
- - [Digest::CRC32](http://www.rubydoc.info/gems/gorge/Digest/CRC32)
13
- - [Pathname](http://www.rubydoc.info/gems/gorge/Pathname)
14
- - [#file_crc32](http://www.rubydoc.info/gems/gorge/Pathname:file_crc32)
15
- - [#file_md5](http://www.rubydoc.info/gems/gorge/Pathname:file_md5)
16
- - [#file_sha1](http://www.rubydoc.info/gems/gorge/Pathname:file_sha1)
17
- - [#file_sha256](http://www.rubydoc.info/gems/gorge/Pathname:file_sha256)
18
- - [String](http://www.rubydoc.info/gems/gorge/String)
19
- - [#crc32](http://www.rubydoc.info/gems/gorge/String:crc32)
20
- - [#md5](http://www.rubydoc.info/gems/gorge/String:md5)
21
- - [#sha1](http://www.rubydoc.info/gems/gorge/String:sha1)
22
- - [#sha256](http://www.rubydoc.info/gems/gorge/String:sha256)
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 from [Ruby Gems](https://rubygems.org/gems/gorge):
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. You can also run `rake irb` for an
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](https://opensource.org/licenses/MIT)
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
- # coding: utf-8
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.hefner@gmail.com"]
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.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features)/})
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
@@ -18,16 +18,14 @@ 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, and returns the Digest
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)
@@ -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 modified. Seeks to the beginning of the
5
- # IO-like before reading, and restores its initial position after
6
- # reading. See also +Digest::Instance#file+.
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/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gorge
2
- VERSION = "1.0.1"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,80 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gorge
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
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: 2019-01-02 00:00:00.000000000 Z
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.hefner@gmail.com
13
+ - jonathan@hefner.pro
72
14
  executables: []
73
15
  extensions: []
74
16
  extra_rdoc_files: []
75
17
  files:
76
- - ".gitignore"
77
- - ".travis.yml"
78
18
  - CHANGELOG.md
79
19
  - Gemfile
80
20
  - LICENSE.txt
@@ -90,8 +30,9 @@ files:
90
30
  homepage: https://github.com/jonathanhefner/gorge
91
31
  licenses:
92
32
  - MIT
93
- metadata: {}
94
- post_install_message:
33
+ metadata:
34
+ source_code_uri: https://github.com/jonathanhefner/gorge
35
+ changelog_uri: https://github.com/jonathanhefner/gorge/blob/master/CHANGELOG.md
95
36
  rdoc_options: []
96
37
  require_paths:
97
38
  - lib
@@ -99,16 +40,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
40
  requirements:
100
41
  - - ">="
101
42
  - !ruby/object:Gem::Version
102
- version: '0'
43
+ version: '3.4'
103
44
  required_rubygems_version: !ruby/object:Gem::Requirement
104
45
  requirements:
105
46
  - - ">="
106
47
  - !ruby/object:Gem::Version
107
48
  version: '0'
108
49
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.7.6
111
- signing_key:
50
+ rubygems_version: 4.0.10
112
51
  specification_version: 4
113
52
  summary: Convenient access to Ruby's Digest module
114
53
  test_files: []
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.2.5
5
- before_install: gem install bundler -v 1.15.1