immutable_struct_ex 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ffcdbe2613240712bb17679f5399a1caa3253c264cf0c9c10a678a4caa4a3f7
4
- data.tar.gz: 29ff8adba1c95169aa7552fb0f4eff84345c5f602ef2f9f1f79d1e2323bc2e37
3
+ metadata.gz: 0aff76841f6be70d98d0b150ee0334721f37d0f598f5f2f095a3f0c4159a98da
4
+ data.tar.gz: ddfcfb2280e4255712c8dbfaced27e59bd0006ee554acc79026f9bf5e11ba3ab
5
5
  SHA512:
6
- metadata.gz: be076b0ffa994a1ad8a5b351017cf4e7b1f82d2b67dc1b582d80cc96e2c2465ae1c381a957b8868751de2699ba5f9eec60336dc9b9d5f679061d7189ef2335fd
7
- data.tar.gz: 19bbbbd8d226a8808546e89897060166bd7c74a8fa10a40ce1e1f0289a08e9b0b72fa99830f473d918ccb872446f782a014f86124cb9fc8f32487f13a56e87e3
6
+ metadata.gz: 5e3569f44e71381289d244966efd8661b90f8356d134bc3771dce22613ec96b111f799a4716a1b4f46981e4525391a502203965ecb18a6ec05214c40ef8ae07e
7
+ data.tar.gz: 130965db745cdcc4f9f18d47aa5773ca86dda87ede80c0022263ab0311297082b3106726102b5e2e54d6fd4a840889b8b05eba4f3db77d7bb9bb5471e632c371
data/.gitignore CHANGED
@@ -13,6 +13,7 @@
13
13
  # rspec failure tracking
14
14
  .rspec_status
15
15
 
16
+ /.vscode/
16
17
  *.code-workspace
17
18
 
18
19
  scratch.rb
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.1)
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 (10.5.0)
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.9.1)
47
+ rubocop (1.35.0)
48
+ json (~> 2.3)
47
49
  parallel (~> 1.10)
48
- parser (>= 3.0.0.0)
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.2.0, < 2.0)
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.4.0)
61
- rubocop (~> 1.0)
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.3.0)
77
+ bundler (~> 2.2, >= 2.2.17)
77
78
  immutable_struct_ex!
78
79
  pry-byebug (~> 3.9)
79
- rake (~> 10.0)
80
- reek (~> 6.0, >= 6.0.4)
81
- rspec (~> 3.0)
82
- rubocop (~> 1.9.1)
83
- rubocop-performance (~> 1.11, >= 1.11.3)
84
- rubocop-rspec (~> 2.3)
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
@@ -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.0', '>= 6.0.4'
37
- # This verson of rubocop is returning errors.
38
- # spec.add_development_dependency 'rubocop', '~> 1.14'
39
- spec.add_development_dependency 'rubocop', '~> 1.9.1'
40
- spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.3'
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ImmutableStructEx
4
- VERSION = '0.2.1'
4
+ VERSION = '0.2.2'
5
5
  end
@@ -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
- options_struct = Struct.new(*hash.keys, keyword_init: true, &block)
12
- options_struct.new(**hash).tap do |struct|
13
- struct.extend Comparable
14
- struct.extend Immutable
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.1
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-13 00:00:00.000000000 Z
11
+ date: 2022-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: pry-byebug
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.9'
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: '3.9'
29
+ version: '2.2'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.2.17
27
33
  - !ruby/object:Gem::Dependency
28
- name: reek
34
+ name: pry-byebug
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '6.0'
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: '6.0'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 6.0.4
46
+ version: '3.9'
47
47
  - !ruby/object:Gem::Dependency
48
- name: rubocop
48
+ name: reek
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 1.9.1
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: 1.9.1
63
+ version: '6.1'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 6.1.1
61
67
  - !ruby/object:Gem::Dependency
62
- name: rubocop-performance
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: 1.11.3
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: 1.11.3
80
+ version: '3.10'
81
81
  - !ruby/object:Gem::Dependency
82
- name: rubocop-rspec
82
+ name: rubocop
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '2.3'
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: '2.3'
94
+ version: '1.35'
95
95
  - !ruby/object:Gem::Dependency
96
- name: simplecov
96
+ name: rubocop-performance
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: 0.21.2
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: 0.21.2
111
+ version: '1.14'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 1.14.3
109
115
  - !ruby/object:Gem::Dependency
110
- name: bundler
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.3.0
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.3.0
131
+ version: '2.12'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 2.12.1
123
135
  - !ruby/object:Gem::Dependency
124
- name: rake
136
+ name: simplecov
125
137
  requirement: !ruby/object:Gem::Requirement
126
138
  requirements:
127
139
  - - "~>"
128
140
  - !ruby/object:Gem::Version
129
- version: '10.0'
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: '10.0'
148
+ version: 0.21.2
137
149
  - !ruby/object:Gem::Dependency
138
- name: rspec
150
+ name: rake
139
151
  requirement: !ruby/object:Gem::Requirement
140
152
  requirements:
141
153
  - - "~>"
142
154
  - !ruby/object:Gem::Version
143
- version: '3.0'
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: '3.0'
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: