gibbler 0.9.0 → 0.10.0.pre.RC1
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 +7 -0
- data/.github/workflows/main.yml +27 -0
- data/.github/workflows/ruby-rake.yaml +38 -0
- data/.gitignore +16 -0
- data/.pre-commit-config.yaml +60 -0
- data/.rubocop.yml +27 -0
- data/{CHANGES.txt → CHANGELOG.md} +65 -82
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +16 -0
- data/LICENSE.txt +4 -2
- data/{README.rdoc → README.md} +134 -120
- data/bin/console +11 -0
- data/bin/setup +8 -0
- data/img/whoababy.gif +0 -0
- data/lib/gibbler/history.rb +39 -41
- data/lib/gibbler/mixins.rb +3 -4
- data/lib/gibbler/version.rb +17 -0
- data/lib/gibbler.rb +145 -188
- data/sig/gibbler.rbs +4 -0
- data/try/11_basic_try.rb +11 -12
- metadata +75 -27
- data/Rakefile +0 -39
- data/gibbler.gemspec +0 -71
data/sig/gibbler.rbs
ADDED
data/try/11_basic_try.rb
CHANGED
@@ -13,7 +13,7 @@ require 'gibbler/mixins'
|
|
13
13
|
|
14
14
|
# Symbol digests are consistent
|
15
15
|
:kimmy.gibbler
|
16
|
-
#=> '52be7494a602d85ff5d8a8ab4ffe7f1b171587df'
|
16
|
+
#=> '52be7494a602d85ff5d8a8ab4ffe7f1b171587df'
|
17
17
|
|
18
18
|
# String digests are consistent
|
19
19
|
'kimmy'.gibbler
|
@@ -27,25 +27,25 @@ require 'gibbler/mixins'
|
|
27
27
|
Class.gibbler
|
28
28
|
#=> '25ac269ae3ef18cdb4143ad02ca315afb5026de9'
|
29
29
|
|
30
|
-
#
|
30
|
+
# Integer instance digests are consistent
|
31
31
|
1.gibbler
|
32
32
|
#=> 'a9cad665549bd22a4346fcf602d9d3c3b0482bbe'
|
33
33
|
|
34
|
-
#
|
35
|
-
|
34
|
+
# Large Integer instance
|
35
|
+
100_000_000_000.gibbler
|
36
36
|
#=> '608256db120251843843bba57e9b2c7adb7342aa'
|
37
37
|
|
38
38
|
# Empty Hash instance digests are consistent
|
39
39
|
Hash.new.gibbler
|
40
40
|
#=> '4fdcadc66a38feb9c57faf3c5a18d5e76a6d29bf'
|
41
|
-
|
41
|
+
|
42
42
|
# Populated Hash instance
|
43
43
|
{ :a => [1,2,3, [4,5,6]], :b => { :c => Class } }.gibbler
|
44
44
|
#=> "1d4b62e1e9f2c097b0cefb6877bf47c2015cdd21"
|
45
|
-
|
45
|
+
|
46
46
|
# Empty Array instance
|
47
|
-
Array.
|
48
|
-
#=> '48fda57c05684c9e5c3259557851943572183a21'
|
47
|
+
Array.gibbler
|
48
|
+
#=> '48fda57c05684c9e5c3259557851943572183a21'
|
49
49
|
|
50
50
|
# Populated Array instance
|
51
51
|
[1, 2, :runtime, [3, "four", [Object, true]]].gibbler
|
@@ -83,7 +83,7 @@ require 'gibbler/mixins'
|
|
83
83
|
## additional attic_var (:gibbler_history), but only if the
|
84
84
|
## gibbler_history method has been called already (the history
|
85
85
|
## remains nil by default). The fix is not straightfroward and
|
86
|
-
## tests are not important anyway so disabling them is fine.
|
86
|
+
## tests are not important anyway so disabling them is fine.
|
87
87
|
## Symbol has list of attic vars", [:gibbler_cache]
|
88
88
|
# Symbol.attic_vars
|
89
89
|
#end
|
@@ -98,8 +98,8 @@ require 'gibbler/mixins'
|
|
98
98
|
|
99
99
|
# Freezing an object will update the digest
|
100
100
|
a = { :a => 1 }
|
101
|
-
pre = a.gibbler;
|
102
|
-
a[:a] = 2
|
101
|
+
pre = a.gibbler;
|
102
|
+
a[:a] = 2
|
103
103
|
post = a.freeze.gibbler
|
104
104
|
pre != post && post == a.gibbler_cache
|
105
105
|
#=> true
|
@@ -127,4 +127,3 @@ require 'gibbler/mixins'
|
|
127
127
|
a.gibbler
|
128
128
|
a.gibbler_cache
|
129
129
|
#=> 'c8027100ecc54945ab15ddac529230e38b1ba6a1'
|
130
|
-
|
metadata
CHANGED
@@ -1,34 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gibbler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.10.0.pre.RC1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Delano Mandelbaum
|
9
|
-
autorequire:
|
10
|
-
bindir:
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
14
|
-
|
15
|
-
|
11
|
+
date: 2024-04-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubocop
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: tryouts
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.2.0.pre.RC1
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.2.0.pre.RC1
|
55
|
+
description: 'A out Gibbler: Git-like hashes for Ruby objects'
|
56
|
+
email: gems@solutious.com
|
16
57
|
executables: []
|
17
58
|
extensions: []
|
18
|
-
extra_rdoc_files:
|
19
|
-
- LICENSE.txt
|
20
|
-
- README.rdoc
|
59
|
+
extra_rdoc_files: []
|
21
60
|
files:
|
22
|
-
-
|
61
|
+
- ".github/workflows/main.yml"
|
62
|
+
- ".github/workflows/ruby-rake.yaml"
|
63
|
+
- ".gitignore"
|
64
|
+
- ".pre-commit-config.yaml"
|
65
|
+
- ".rubocop.yml"
|
66
|
+
- CHANGELOG.md
|
67
|
+
- CODE_OF_CONDUCT.md
|
68
|
+
- Gemfile
|
23
69
|
- LICENSE.txt
|
24
|
-
- README.
|
25
|
-
- Rakefile
|
70
|
+
- README.md
|
26
71
|
- VERSION.yml
|
27
|
-
-
|
72
|
+
- bin/console
|
73
|
+
- bin/setup
|
74
|
+
- img/whoababy.gif
|
28
75
|
- lib/gibbler.rb
|
29
76
|
- lib/gibbler/aliases.rb
|
30
77
|
- lib/gibbler/history.rb
|
31
78
|
- lib/gibbler/mixins.rb
|
79
|
+
- lib/gibbler/version.rb
|
80
|
+
- sig/gibbler.rbs
|
32
81
|
- try/01_core_ext_try.rb
|
33
82
|
- try/02_compat_try.rb
|
34
83
|
- try/05_gibbler_digest_try.rb
|
@@ -51,27 +100,26 @@ files:
|
|
51
100
|
- try/80_performance_try.rb
|
52
101
|
- try/90_alias_try.rb
|
53
102
|
homepage: http://github.com/delano/gibbler
|
54
|
-
licenses:
|
55
|
-
|
103
|
+
licenses:
|
104
|
+
- MIT
|
105
|
+
metadata: {}
|
106
|
+
post_install_message:
|
56
107
|
rdoc_options: []
|
57
108
|
require_paths:
|
58
109
|
- lib
|
59
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
111
|
requirements:
|
62
|
-
- -
|
112
|
+
- - ">="
|
63
113
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
114
|
+
version: 3.1.4
|
65
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
116
|
requirements:
|
68
|
-
- -
|
117
|
+
- - ">"
|
69
118
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
119
|
+
version: 1.3.1
|
71
120
|
requirements: []
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
specification_version: 3
|
121
|
+
rubygems_version: 3.3.26
|
122
|
+
signing_key:
|
123
|
+
specification_version: 4
|
76
124
|
summary: Git-like hashes for Ruby objects
|
77
125
|
test_files: []
|
data/Rakefile
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
require "rake"
|
3
|
-
require "rake/clean"
|
4
|
-
require 'yaml'
|
5
|
-
|
6
|
-
require 'rdoc/task'
|
7
|
-
|
8
|
-
config = YAML.load_file("VERSION.yml")
|
9
|
-
task :default => ["build"]
|
10
|
-
CLEAN.include [ 'pkg', 'rdoc' ]
|
11
|
-
name = "gibbler"
|
12
|
-
|
13
|
-
begin
|
14
|
-
require "jeweler"
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
gem.version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}"
|
17
|
-
gem.name = name
|
18
|
-
gem.rubyforge_project = gem.name
|
19
|
-
gem.summary = "Git-like hashes for Ruby objects"
|
20
|
-
gem.description = "Git-like hashes for Ruby objects"
|
21
|
-
gem.email = "delano@solutious.com"
|
22
|
-
gem.homepage = "http://github.com/delano/gibbler"
|
23
|
-
gem.authors = ["Delano Mandelbaum"]
|
24
|
-
end
|
25
|
-
Jeweler::GemcutterTasks.new
|
26
|
-
rescue LoadError
|
27
|
-
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
28
|
-
end
|
29
|
-
|
30
|
-
RDoc::Task.new do |rdoc|
|
31
|
-
version = "#{config[:MAJOR]}.#{config[:MINOR]}.#{config[:PATCH]}"
|
32
|
-
rdoc.rdoc_dir = "rdoc"
|
33
|
-
rdoc.title = "#{name} #{version}"
|
34
|
-
rdoc.rdoc_files.include("README*")
|
35
|
-
rdoc.rdoc_files.include("LICENSE.txt")
|
36
|
-
rdoc.rdoc_files.include("bin/*.rb")
|
37
|
-
rdoc.rdoc_files.include("lib/**/*.rb")
|
38
|
-
end
|
39
|
-
|
data/gibbler.gemspec
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = "gibbler"
|
8
|
-
s.version = "0.9.0"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Delano Mandelbaum"]
|
12
|
-
s.date = "2012-04-20"
|
13
|
-
s.description = "Gibbler: Git-like hashes for Ruby objects"
|
14
|
-
s.email = "delano@solutious.com"
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE.txt",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
"CHANGES.txt",
|
21
|
-
"LICENSE.txt",
|
22
|
-
"README.rdoc",
|
23
|
-
"Rakefile",
|
24
|
-
"VERSION.yml",
|
25
|
-
"gibbler.gemspec",
|
26
|
-
"lib/gibbler.rb",
|
27
|
-
"lib/gibbler/aliases.rb",
|
28
|
-
"lib/gibbler/history.rb",
|
29
|
-
"lib/gibbler/mixins.rb",
|
30
|
-
"try/01_core_ext_try.rb",
|
31
|
-
"try/02_compat_try.rb",
|
32
|
-
"try/05_gibbler_digest_try.rb",
|
33
|
-
"try/10_standalone_try.rb",
|
34
|
-
"try/11_basic_try.rb",
|
35
|
-
"try/12_basic_sha256_try.rb",
|
36
|
-
"try/14_extended_try.rb",
|
37
|
-
"try/15_file_try.rb",
|
38
|
-
"try/16_uri_try.rb",
|
39
|
-
"try/17_complex_object_try.rb",
|
40
|
-
"try/18_proc_try.rb",
|
41
|
-
"try/20_time_try.rb",
|
42
|
-
"try/30_secret_try.rb",
|
43
|
-
"try/50_history_try.rb",
|
44
|
-
"try/51_hash_history_try.rb",
|
45
|
-
"try/52_array_history_try.rb",
|
46
|
-
"try/53_string_history_try.rb",
|
47
|
-
"try/57_arbitrary_history_try.rb",
|
48
|
-
"try/59_history_exceptions_try.rb",
|
49
|
-
"try/80_performance_try.rb",
|
50
|
-
"try/90_alias_try.rb"
|
51
|
-
]
|
52
|
-
s.homepage = "http://github.com/delano/gibbler"
|
53
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
54
|
-
s.require_paths = ["lib"]
|
55
|
-
s.rubyforge_project = "gibbler"
|
56
|
-
s.rubygems_version = "1.8.22"
|
57
|
-
s.summary = "Gibbler: Git-like hashes for Ruby objects"
|
58
|
-
|
59
|
-
if s.respond_to? :specification_version then
|
60
|
-
s.specification_version = 3
|
61
|
-
|
62
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
63
|
-
s.add_runtime_dependency(%q<attic>, [">= 0.4.0"])
|
64
|
-
else
|
65
|
-
s.add_dependency(%q<attic>, [">= 0.4.0"])
|
66
|
-
end
|
67
|
-
else
|
68
|
-
s.add_dependency(%q<attic>, [">= 0.4.0"])
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|