deco_lite 0.1.0 → 0.1.1

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: c4fa31da1d9880f0afe9d90f953772ca606551a159bce150d70eebe6875e63f2
4
- data.tar.gz: cbf4dd4e1185c04df3a8463d1ec4984f3ee6c8a8250f6775f6d32c15bec7a1f8
3
+ metadata.gz: f9b6003b4b875144ddc599d65ace8b397b3bb010cacc95aebf3360b71a7ccda9
4
+ data.tar.gz: 82e1860ba9e6f5762e6bc52233160fae55e4f0a715ec3bb8a555ec3b3d24ac23
5
5
  SHA512:
6
- metadata.gz: 3a5b8509030d6546bbfc79076f13ef5704deb8f00928ced048a665b63ff19954bd60980d2727c8a3a14b5ca577434f8caa0b5528716247e0959098be883d31a3
7
- data.tar.gz: 04bd6397371f07659c78568b05efdeee3d5077ed54b3ccb54637f6936d8cae777f409e9877112a6861aee60274c9d8d61a4c4f44d1d76e82a81c3205ae06ca40
6
+ metadata.gz: c2f7ddce5f5d6bc1367ae5da30e2043cc60b443c93f4df0f4caac435c415b0dfeeffdff424460810cb0a9996f00e3fee4e9d0138bbac4d8515138613c5b9a0a5
7
+ data.tar.gz: 492a9602f01f7615049039e0dccc80debce0cbc1ec57d5927e72ca6b6f4f320fb5526b8f2384c81b4a3c12e70a278d4dcc4978c73b3ff56436d628390480e850
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 ADDED
@@ -0,0 +1,7 @@
1
+ ### 0.1.1
2
+ * changes
3
+ * Update gems and especially rake gem version to squash CVE-2020-8130, see https://github.com/advisories/GHSA-jppv-gw3r-w3q8.
4
+ * Fix rubocop violations.
5
+
6
+ ### 0.1.0
7
+ * Initial commit
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- deco_lite (0.1.0)
4
+ deco_lite (0.1.1)
5
5
  activemodel (~> 7.0, >= 7.0.3.1)
6
6
  activesupport (~> 7.0, >= 7.0.3.1)
7
7
  immutable_struct_ex (~> 0.2.0)
@@ -25,6 +25,7 @@ GEM
25
25
  i18n (1.12.0)
26
26
  concurrent-ruby (~> 1.0)
27
27
  immutable_struct_ex (0.2.1)
28
+ json (2.6.2)
28
29
  kwalify (0.7.2)
29
30
  method_source (1.0.0)
30
31
  minitest (5.16.2)
@@ -38,33 +39,34 @@ GEM
38
39
  byebug (~> 11.0)
39
40
  pry (~> 0.13.0)
40
41
  rainbow (3.1.1)
41
- rake (10.5.0)
42
+ rake (13.0.6)
42
43
  reek (6.1.1)
43
44
  kwalify (~> 0.7.0)
44
45
  parser (~> 3.1.0)
45
46
  rainbow (>= 2.0, < 4.0)
46
47
  regexp_parser (2.5.0)
47
48
  rexml (3.2.5)
48
- rspec (3.11.0)
49
- rspec-core (~> 3.11.0)
50
- rspec-expectations (~> 3.11.0)
51
- rspec-mocks (~> 3.11.0)
52
- rspec-core (3.11.0)
53
- rspec-support (~> 3.11.0)
54
- rspec-expectations (3.11.0)
49
+ rspec (3.10.0)
50
+ rspec-core (~> 3.10.0)
51
+ rspec-expectations (~> 3.10.0)
52
+ rspec-mocks (~> 3.10.0)
53
+ rspec-core (3.10.2)
54
+ rspec-support (~> 3.10.0)
55
+ rspec-expectations (3.10.2)
55
56
  diff-lcs (>= 1.2.0, < 2.0)
56
- rspec-support (~> 3.11.0)
57
- rspec-mocks (3.11.1)
57
+ rspec-support (~> 3.10.0)
58
+ rspec-mocks (3.10.3)
58
59
  diff-lcs (>= 1.2.0, < 2.0)
59
- rspec-support (~> 3.11.0)
60
- rspec-support (3.11.0)
61
- rubocop (1.9.1)
60
+ rspec-support (~> 3.10.0)
61
+ rspec-support (3.10.3)
62
+ rubocop (1.35.0)
63
+ json (~> 2.3)
62
64
  parallel (~> 1.10)
63
- parser (>= 3.0.0.0)
65
+ parser (>= 3.1.2.1)
64
66
  rainbow (>= 2.2.2, < 4.0)
65
67
  regexp_parser (>= 1.8, < 3.0)
66
- rexml
67
- rubocop-ast (>= 1.2.0, < 2.0)
68
+ rexml (>= 3.2.5, < 4.0)
69
+ rubocop-ast (>= 1.20.1, < 2.0)
68
70
  ruby-progressbar (~> 1.7)
69
71
  unicode-display_width (>= 1.4.0, < 3.0)
70
72
  rubocop-ast (1.21.0)
@@ -72,9 +74,8 @@ GEM
72
74
  rubocop-performance (1.14.3)
73
75
  rubocop (>= 1.7.0, < 2.0)
74
76
  rubocop-ast (>= 0.4.0)
75
- rubocop-rspec (2.4.0)
76
- rubocop (~> 1.0)
77
- rubocop-ast (>= 1.1.0)
77
+ rubocop-rspec (2.12.1)
78
+ rubocop (~> 1.31)
78
79
  ruby-progressbar (1.11.0)
79
80
  simplecov (0.21.2)
80
81
  docile (~> 1.1)
@@ -93,12 +94,12 @@ DEPENDENCIES
93
94
  bundler (~> 2.2, >= 2.2.17)
94
95
  deco_lite!
95
96
  pry-byebug (~> 3.9)
96
- rake (~> 10.0)
97
- reek (~> 6.0, >= 6.0.4)
98
- rspec (~> 3.10)
99
- rubocop (~> 1.9.1)
100
- rubocop-performance (~> 1.11, >= 1.11.3)
101
- rubocop-rspec (~> 2.3)
97
+ rake (~> 13.0, >= 13.0.6)
98
+ reek (~> 6.1, >= 6.1.1)
99
+ rspec (>= 3.10)
100
+ rubocop (~> 1.35)
101
+ rubocop-performance (~> 1.14, >= 1.14.3)
102
+ rubocop-rspec (~> 2.12, >= 2.12.1)
102
103
  simplecov (~> 0.21.2)
103
104
 
104
105
  BUNDLED WITH
data/README.md CHANGED
@@ -31,10 +31,6 @@ A `DecoLite::Model` will allow you to consume a Ruby Hash that you supply via th
31
31
  wife: {
32
32
  name: 'Mary Doe',
33
33
  age: 30,
34
- },
35
- dog: {
36
- name: 'Brutus',
37
- age: 7,
38
34
  }
39
35
  }
40
36
  ```
data/deco_lite.gemspec CHANGED
@@ -36,22 +36,13 @@ Gem::Specification.new do |spec|
36
36
  spec.add_runtime_dependency 'activemodel', '~> 7.0', '>= 7.0.3.1'
37
37
  spec.add_runtime_dependency 'activesupport', '~> 7.0', '>= 7.0.3.1'
38
38
  spec.add_runtime_dependency 'immutable_struct_ex', '~> 0.2.0'
39
- # spec.add_development_dependency 'benchmark-ips', '~> 2.3'
40
39
  spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.17'
41
- # spec.add_development_dependency 'factory_bot', '~> 6.2'
42
40
  spec.add_development_dependency 'pry-byebug', '~> 3.9'
43
- # #spec.add_development_dependency 'rake', '~> 0'
44
- # #spec.add_development_dependency 'redcarpet', '~> 3.5', '>= 3.5.1'
45
- spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.4'
46
- spec.add_development_dependency 'rspec', '~> 3.10'
47
- # This verson of rubocop is returning errors.
48
- # spec.add_development_dependency 'rubocop', '~> 1.14'
49
- spec.add_development_dependency 'rubocop', '~> 1.9.1'
50
- spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.3'
51
- spec.add_development_dependency 'rubocop-rspec', '~> 2.3'
41
+ spec.add_development_dependency 'reek', '~> 6.1', '>= 6.1.1'
42
+ spec.add_development_dependency 'rspec', '>= 3.10'
43
+ spec.add_development_dependency 'rubocop', '~> 1.35'
44
+ spec.add_development_dependency 'rubocop-performance', '~> 1.14', '>= 1.14.3'
45
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.12', '>= 2.12.1'
52
46
  spec.add_development_dependency 'simplecov', '~> 0.21.2'
53
-
54
- # spec.add_development_dependency "bundler", "~> 1.16"
55
- spec.add_development_dependency 'rake', '~> 10.0'
56
- # spec.add_development_dependency "rspec", "~> 3.0"
47
+ spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
57
48
  end
@@ -56,6 +56,7 @@ module DecoLite
56
56
 
57
57
  def set_field_info!(field_info:, key:, namespace:, dig:)
58
58
  field_key = [namespace, *dig, key].compact.join('_').to_sym
59
+
59
60
  field_info[field_key] = {
60
61
  field_name: key,
61
62
  dig: dig.dup
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DecoLite
4
+ # Provides methods to convert the object to a Hash.
5
+ module Hashable
6
+ def to_h
7
+ field_names.each.each_with_object({}) do |field_name, hash|
8
+ hash[field_name] = public_send field_name
9
+ end
10
+ end
11
+ end
12
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'active_model'
4
4
  require_relative 'field_requireable'
5
+ require_relative 'hashable'
5
6
  require_relative 'hash_loadable'
6
7
  require_relative 'model_nameable'
7
8
  require_relative 'optionable'
@@ -12,6 +13,7 @@ module DecoLite
12
13
  class Model
13
14
  include ActiveModel::Model
14
15
  include FieldRequireable
16
+ include Hashable
15
17
  include HashLoadable
16
18
  include ModelNameable
17
19
  include Optionable
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Defines the version of this gem.
4
4
  module DecoLite
5
- VERSION = '0.1.0'
5
+ VERSION = '0.1.1'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deco_lite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
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
14
  name: activemodel
@@ -104,32 +104,32 @@ dependencies:
104
104
  requirements:
105
105
  - - "~>"
106
106
  - !ruby/object:Gem::Version
107
- version: '6.0'
107
+ version: '6.1'
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 6.0.4
110
+ version: 6.1.1
111
111
  type: :development
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '6.0'
117
+ version: '6.1'
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 6.0.4
120
+ version: 6.1.1
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: rspec
123
123
  requirement: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - "~>"
125
+ - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '3.10'
128
128
  type: :development
129
129
  prerelease: false
130
130
  version_requirements: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - "~>"
132
+ - - ">="
133
133
  - !ruby/object:Gem::Version
134
134
  version: '3.10'
135
135
  - !ruby/object:Gem::Dependency
@@ -138,48 +138,54 @@ dependencies:
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: 1.9.1
141
+ version: '1.35'
142
142
  type: :development
143
143
  prerelease: false
144
144
  version_requirements: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: 1.9.1
148
+ version: '1.35'
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: rubocop-performance
151
151
  requirement: !ruby/object:Gem::Requirement
152
152
  requirements:
153
153
  - - "~>"
154
154
  - !ruby/object:Gem::Version
155
- version: '1.11'
155
+ version: '1.14'
156
156
  - - ">="
157
157
  - !ruby/object:Gem::Version
158
- version: 1.11.3
158
+ version: 1.14.3
159
159
  type: :development
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '1.11'
165
+ version: '1.14'
166
166
  - - ">="
167
167
  - !ruby/object:Gem::Version
168
- version: 1.11.3
168
+ version: 1.14.3
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: rubocop-rspec
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: '2.3'
175
+ version: '2.12'
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 2.12.1
176
179
  type: :development
177
180
  prerelease: false
178
181
  version_requirements: !ruby/object:Gem::Requirement
179
182
  requirements:
180
183
  - - "~>"
181
184
  - !ruby/object:Gem::Version
182
- version: '2.3'
185
+ version: '2.12'
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 2.12.1
183
189
  - !ruby/object:Gem::Dependency
184
190
  name: simplecov
185
191
  requirement: !ruby/object:Gem::Requirement
@@ -200,14 +206,20 @@ dependencies:
200
206
  requirements:
201
207
  - - "~>"
202
208
  - !ruby/object:Gem::Version
203
- version: '10.0'
209
+ version: '13.0'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 13.0.6
204
213
  type: :development
205
214
  prerelease: false
206
215
  version_requirements: !ruby/object:Gem::Requirement
207
216
  requirements:
208
217
  - - "~>"
209
218
  - !ruby/object:Gem::Version
210
- version: '10.0'
219
+ version: '13.0'
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 13.0.6
211
223
  description: Dynamically creates an active model from a Hash.
212
224
  email:
213
225
  - public.gma@gmail.com
@@ -221,6 +233,7 @@ files:
221
233
  - ".rubocop.yml"
222
234
  - ".ruby-version"
223
235
  - ".travis.yml"
236
+ - CHANGELOG.md
224
237
  - CODE_OF_CONDUCT.md
225
238
  - Gemfile
226
239
  - Gemfile.lock
@@ -239,6 +252,7 @@ files:
239
252
  - lib/deco_lite/field_retrievable.rb
240
253
  - lib/deco_lite/fields_optionable.rb
241
254
  - lib/deco_lite/hash_loadable.rb
255
+ - lib/deco_lite/hashable.rb
242
256
  - lib/deco_lite/model.rb
243
257
  - lib/deco_lite/model_nameable.rb
244
258
  - lib/deco_lite/namespace_optionable.rb