deco_lite 0.1.0 → 0.1.1

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: 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