immutable_struct_ex 0.2.1 → 0.2.2
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 +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +10 -2
- data/Gemfile.lock +17 -16
- data/immutable_struct_ex.gemspec +7 -10
- data/lib/{comparable.rb → immutable_struct_ex/comparable.rb} +0 -0
- data/lib/{immutable.rb → immutable_struct_ex/immutable.rb} +0 -0
- data/lib/immutable_struct_ex/version.rb +1 -1
- data/lib/immutable_struct_ex.rb +7 -6
- metadata +61 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0aff76841f6be70d98d0b150ee0334721f37d0f598f5f2f095a3f0c4159a98da
|
4
|
+
data.tar.gz: ddfcfb2280e4255712c8dbfaced27e59bd0006ee554acc79026f9bf5e11ba3ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e3569f44e71381289d244966efd8661b90f8356d134bc3771dce22613ec96b111f799a4716a1b4f46981e4525391a502203965ecb18a6ec05214c40ef8ae07e
|
7
|
+
data.tar.gz: 130965db745cdcc4f9f18d47aa5773ca86dda87ede80c0022263ab0311297082b3106726102b5e2e54d6fd4a840889b8b05eba4f3db77d7bb9bb5471e632c371
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,20 @@
|
|
1
|
+
### 0.2.2
|
2
|
+
* Changes
|
3
|
+
* Restructure modules under lib/immutable_structure_ex folder.
|
4
|
+
* Make codez to create struct a little cleaner/tighter.
|
5
|
+
* Ignore .vscode folder in .gitignore file.
|
6
|
+
* Update gems and especially rake gem version to squash CVE-2020-8130, see https://github.com/advisories/GHSA-jppv-gw3r-w3q8.
|
7
|
+
* Fix rubocop violations.
|
8
|
+
|
1
9
|
### 0.2.1
|
2
10
|
* Enhancements
|
3
|
-
* General refactors/cleanup
|
11
|
+
* General refactors/cleanup.
|
4
12
|
* Added Immutable module; when extended on a struct, makes it immutable.
|
5
13
|
* Added Comparable module; when extended on a struct, makes it comparable to other structs and hashes.
|
6
14
|
|
7
15
|
### 0.1.1
|
8
16
|
* Enhancements
|
9
|
-
* Added this CHANGELOG.md
|
17
|
+
* Added this CHANGELOG.md.
|
10
18
|
* Bug fix
|
11
19
|
* Equality method #== did not work when comparing objects whose underlying hashes were equal.
|
12
20
|
* Added #== method to compare underlying hashes by calling a.to_h == b.to_h.
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
immutable_struct_ex (0.2.
|
4
|
+
immutable_struct_ex (0.2.2)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -11,6 +11,7 @@ GEM
|
|
11
11
|
coderay (1.1.3)
|
12
12
|
diff-lcs (1.5.0)
|
13
13
|
docile (1.4.0)
|
14
|
+
json (2.6.2)
|
14
15
|
kwalify (0.7.2)
|
15
16
|
method_source (1.0.0)
|
16
17
|
parallel (1.22.1)
|
@@ -23,7 +24,7 @@ GEM
|
|
23
24
|
byebug (~> 11.0)
|
24
25
|
pry (~> 0.13.0)
|
25
26
|
rainbow (3.1.1)
|
26
|
-
rake (
|
27
|
+
rake (13.0.6)
|
27
28
|
reek (6.1.1)
|
28
29
|
kwalify (~> 0.7.0)
|
29
30
|
parser (~> 3.1.0)
|
@@ -43,13 +44,14 @@ GEM
|
|
43
44
|
diff-lcs (>= 1.2.0, < 2.0)
|
44
45
|
rspec-support (~> 3.11.0)
|
45
46
|
rspec-support (3.11.0)
|
46
|
-
rubocop (1.
|
47
|
+
rubocop (1.35.0)
|
48
|
+
json (~> 2.3)
|
47
49
|
parallel (~> 1.10)
|
48
|
-
parser (>= 3.
|
50
|
+
parser (>= 3.1.2.1)
|
49
51
|
rainbow (>= 2.2.2, < 4.0)
|
50
52
|
regexp_parser (>= 1.8, < 3.0)
|
51
|
-
rexml
|
52
|
-
rubocop-ast (>= 1.
|
53
|
+
rexml (>= 3.2.5, < 4.0)
|
54
|
+
rubocop-ast (>= 1.20.1, < 2.0)
|
53
55
|
ruby-progressbar (~> 1.7)
|
54
56
|
unicode-display_width (>= 1.4.0, < 3.0)
|
55
57
|
rubocop-ast (1.21.0)
|
@@ -57,9 +59,8 @@ GEM
|
|
57
59
|
rubocop-performance (1.14.3)
|
58
60
|
rubocop (>= 1.7.0, < 2.0)
|
59
61
|
rubocop-ast (>= 0.4.0)
|
60
|
-
rubocop-rspec (2.
|
61
|
-
rubocop (~> 1.
|
62
|
-
rubocop-ast (>= 1.1.0)
|
62
|
+
rubocop-rspec (2.12.1)
|
63
|
+
rubocop (~> 1.31)
|
63
64
|
ruby-progressbar (1.11.0)
|
64
65
|
simplecov (0.21.2)
|
65
66
|
docile (~> 1.1)
|
@@ -73,15 +74,15 @@ PLATFORMS
|
|
73
74
|
x86_64-darwin-19
|
74
75
|
|
75
76
|
DEPENDENCIES
|
76
|
-
bundler (~> 2.
|
77
|
+
bundler (~> 2.2, >= 2.2.17)
|
77
78
|
immutable_struct_ex!
|
78
79
|
pry-byebug (~> 3.9)
|
79
|
-
rake (~>
|
80
|
-
reek (~> 6.
|
81
|
-
rspec (
|
82
|
-
rubocop (~> 1.
|
83
|
-
rubocop-performance (~> 1.
|
84
|
-
rubocop-rspec (~> 2.
|
80
|
+
rake (~> 13.0, >= 13.0.6)
|
81
|
+
reek (~> 6.1, >= 6.1.1)
|
82
|
+
rspec (>= 3.10)
|
83
|
+
rubocop (~> 1.35)
|
84
|
+
rubocop-performance (~> 1.14, >= 1.14.3)
|
85
|
+
rubocop-rspec (~> 2.12, >= 2.12.1)
|
85
86
|
simplecov (~> 0.21.2)
|
86
87
|
|
87
88
|
BUNDLED WITH
|
data/immutable_struct_ex.gemspec
CHANGED
@@ -32,16 +32,13 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
33
33
|
spec.require_paths = ['lib']
|
34
34
|
|
35
|
+
spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.17'
|
35
36
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
36
|
-
spec.add_development_dependency 'reek', '~> 6.
|
37
|
-
|
38
|
-
|
39
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
40
|
-
spec.add_development_dependency 'rubocop-
|
41
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
|
37
|
+
spec.add_development_dependency 'reek', '~> 6.1', '>= 6.1.1'
|
38
|
+
spec.add_development_dependency 'rspec', '>= 3.10'
|
39
|
+
spec.add_development_dependency 'rubocop', '~> 1.35'
|
40
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.14', '>= 1.14.3'
|
41
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.12', '>= 2.12.1'
|
42
42
|
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
43
|
-
|
44
|
-
spec.add_development_dependency 'bundler', '~> 2.3.0'
|
45
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
46
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
43
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
47
44
|
end
|
File without changes
|
File without changes
|
data/lib/immutable_struct_ex.rb
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'immutable_struct_ex/version'
|
4
|
-
require 'comparable'
|
5
|
-
require 'immutable'
|
4
|
+
require 'immutable_struct_ex/comparable'
|
5
|
+
require 'immutable_struct_ex/immutable'
|
6
6
|
|
7
7
|
# Defines the methods used to create/manage the ImmutableStructEx struct.
|
8
8
|
module ImmutableStructEx
|
9
9
|
class << self
|
10
10
|
def new(**hash, &block)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
Struct.new(*hash.keys, keyword_init: true, &block).tap do |struct|
|
12
|
+
return struct.new(**hash).tap do |struct_object|
|
13
|
+
struct_object.extend Comparable
|
14
|
+
struct_object.extend Immutable
|
15
|
+
end
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
metadata
CHANGED
@@ -1,153 +1,171 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: immutable_struct_ex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gene M. Angelo, Jr.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.2'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.2.17
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
29
|
+
version: '2.2'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.2.17
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
34
|
+
name: pry-byebug
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
34
|
-
- - ">="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 6.0.4
|
39
|
+
version: '3.9'
|
37
40
|
type: :development
|
38
41
|
prerelease: false
|
39
42
|
version_requirements: !ruby/object:Gem::Requirement
|
40
43
|
requirements:
|
41
44
|
- - "~>"
|
42
45
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 6.0.4
|
46
|
+
version: '3.9'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: reek
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: '6.1'
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 6.1.1
|
54
57
|
type: :development
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
61
|
- - "~>"
|
59
62
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
63
|
+
version: '6.1'
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 6.1.1
|
61
67
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
68
|
+
name: rspec
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
64
70
|
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '1.11'
|
68
71
|
- - ">="
|
69
72
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
73
|
+
version: '3.10'
|
71
74
|
type: :development
|
72
75
|
prerelease: false
|
73
76
|
version_requirements: !ruby/object:Gem::Requirement
|
74
77
|
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '1.11'
|
78
78
|
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
80
|
+
version: '3.10'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
|
-
name: rubocop
|
82
|
+
name: rubocop
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
85
|
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
87
|
+
version: '1.35'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
94
|
+
version: '1.35'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
96
|
+
name: rubocop-performance
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
99
|
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
101
|
+
version: '1.14'
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 1.14.3
|
102
105
|
type: :development
|
103
106
|
prerelease: false
|
104
107
|
version_requirements: !ruby/object:Gem::Requirement
|
105
108
|
requirements:
|
106
109
|
- - "~>"
|
107
110
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
111
|
+
version: '1.14'
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 1.14.3
|
109
115
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
116
|
+
name: rubocop-rspec
|
111
117
|
requirement: !ruby/object:Gem::Requirement
|
112
118
|
requirements:
|
113
119
|
- - "~>"
|
114
120
|
- !ruby/object:Gem::Version
|
115
|
-
version: 2.
|
121
|
+
version: '2.12'
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.12.1
|
116
125
|
type: :development
|
117
126
|
prerelease: false
|
118
127
|
version_requirements: !ruby/object:Gem::Requirement
|
119
128
|
requirements:
|
120
129
|
- - "~>"
|
121
130
|
- !ruby/object:Gem::Version
|
122
|
-
version: 2.
|
131
|
+
version: '2.12'
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 2.12.1
|
123
135
|
- !ruby/object:Gem::Dependency
|
124
|
-
name:
|
136
|
+
name: simplecov
|
125
137
|
requirement: !ruby/object:Gem::Requirement
|
126
138
|
requirements:
|
127
139
|
- - "~>"
|
128
140
|
- !ruby/object:Gem::Version
|
129
|
-
version:
|
141
|
+
version: 0.21.2
|
130
142
|
type: :development
|
131
143
|
prerelease: false
|
132
144
|
version_requirements: !ruby/object:Gem::Requirement
|
133
145
|
requirements:
|
134
146
|
- - "~>"
|
135
147
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
148
|
+
version: 0.21.2
|
137
149
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
150
|
+
name: rake
|
139
151
|
requirement: !ruby/object:Gem::Requirement
|
140
152
|
requirements:
|
141
153
|
- - "~>"
|
142
154
|
- !ruby/object:Gem::Version
|
143
|
-
version: '
|
155
|
+
version: '13.0'
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 13.0.6
|
144
159
|
type: :development
|
145
160
|
prerelease: false
|
146
161
|
version_requirements: !ruby/object:Gem::Requirement
|
147
162
|
requirements:
|
148
163
|
- - "~>"
|
149
164
|
- !ruby/object:Gem::Version
|
150
|
-
version: '
|
165
|
+
version: '13.0'
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: 13.0.6
|
151
169
|
description: Creates an immutable struct in one step.
|
152
170
|
email:
|
153
171
|
- public.gma@gmail.com
|
@@ -171,9 +189,9 @@ files:
|
|
171
189
|
- bin/console
|
172
190
|
- bin/setup
|
173
191
|
- immutable_struct_ex.gemspec
|
174
|
-
- lib/comparable.rb
|
175
|
-
- lib/immutable.rb
|
176
192
|
- lib/immutable_struct_ex.rb
|
193
|
+
- lib/immutable_struct_ex/comparable.rb
|
194
|
+
- lib/immutable_struct_ex/immutable.rb
|
177
195
|
- lib/immutable_struct_ex/version.rb
|
178
196
|
homepage: https://github.com/gangelo/immutable_struct_ex
|
179
197
|
licenses:
|