options_model 0.0.18 → 0.0.19

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: ab42d3e3b9e4a75c96044749d91848d29e8c9b619e6256cc106820a4ed2b97d0
4
- data.tar.gz: 86e1a7eef5263efceb7a035cb00f017b22e50e7eefa320e1d6cc9b213668a9b3
3
+ metadata.gz: 28e0b4a7b8338b22d82fe86ab8953ab930bef18fa0f8841b5561909d02b29bae
4
+ data.tar.gz: 72fa3751a21a14d82a38111435c8a26fb4570415d5c3ff065c54a0939926e88c
5
5
  SHA512:
6
- metadata.gz: bbfa20c312c15fb5ab84bbdb5f2691dd2848203b5f45f63253c7570a152574abedf95db3c501d20631734232b94c4b5eeb1a74d51cec25e3eba20e70d08291ca
7
- data.tar.gz: c0c165ba0542fe6ac1d1e542a50c6944adb312055253d6d3026a2950626431b7cc62bbd356b09ce02907833376aed321ec4de6597e9c0ad61f2b48fff614e0b1
6
+ metadata.gz: 8e0bdaf0cb45c615834c311045d16905c4e1dcccccca8a6e7b3741e80a498d32a06012152f6e2f53b8ce048256d88569ce019f9705108e3695adbdaee645e8f8
7
+ data.tar.gz: b8a10cb002ab6a58f85c5c368c89e00e1d3c806d98925671dc9e822d300859314ccd21f6e93eadd7e9b42b404c84764111b6a60b9f9a354ee9121b72d6baac90
@@ -24,18 +24,17 @@ module OptionsModel
24
24
  ""
25
25
  end
26
26
 
27
- generated_attribute_methods.synchronize do
28
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
27
+ generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
29
28
  def #{name}
30
29
  value = attributes[:#{name}]
31
30
  return value unless value.nil?
32
31
  attributes[:#{name}] = self.class.attribute_defaults[:#{name}]#{default_extractor}
33
32
  attributes[:#{name}]
34
33
  end
35
- STR
34
+ STR
36
35
 
37
- if array
38
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
36
+ if array
37
+ generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
39
38
  def #{name}=(value)
40
39
  if value.respond_to?(:to_a)
41
40
  attributes[:#{name}] = value.to_a.map { |i| ActiveModel::Type.lookup(:#{cast_type}).cast(i) }
@@ -46,16 +45,15 @@ module OptionsModel
46
45
  "`value` should respond to `to_a`, but got \#{value.class} -- \#{value.inspect}"
47
46
  end
48
47
  end
49
- STR
50
- else
51
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
48
+ STR
49
+ else
50
+ generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
52
51
  def #{name}=(value)
53
52
  attributes[:#{name}] = ActiveModel::Type.lookup(:#{cast_type}).cast(value)
54
53
  end
55
- STR
54
+ STR
56
55
 
57
- generated_attribute_methods.send :alias_method, :"#{name}?", name if cast_type == :boolean
58
- end
56
+ generated_attribute_methods.send :alias_method, :"#{name}?", name if cast_type == :boolean
59
57
  end
60
58
 
61
59
  attribute_names_for_inlining << name
@@ -100,14 +98,13 @@ module OptionsModel
100
98
  anonymous_class
101
99
  end
102
100
 
103
- generated_attribute_methods.synchronize do
104
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
101
+ generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
105
102
  def #{name}
106
103
  nested_attributes[:#{name}] ||= self.class.nested_classes[:#{name}].new(attributes[:#{name}])
107
104
  end
108
- STR
105
+ STR
109
106
 
110
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
107
+ generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
111
108
  def #{name}=(value)
112
109
  klass = self.class.nested_classes[:#{name}]
113
110
  if value.respond_to?(:to_h)
@@ -121,8 +118,7 @@ module OptionsModel
121
118
  "`value` should respond to `to_h` or \#{klass}, but got \#{value.class}"
122
119
  end
123
120
  end
124
- STR
125
- end
121
+ STR
126
122
 
127
123
  attribute_names_for_nesting << name
128
124
 
@@ -194,15 +190,11 @@ module OptionsModel
194
190
  end
195
191
 
196
192
  def generated_attribute_methods
197
- @generated_attribute_methods ||= Module.new do
198
- extend Mutex_m
199
- end.tap { |mod| include mod }
193
+ @generated_attribute_methods ||= Module.new.tap { |mod| include mod }
200
194
  end
201
195
 
202
196
  def generated_class_methods
203
- @generated_class_methods ||= Module.new do
204
- extend Mutex_m
205
- end.tap { |mod| extend mod }
197
+ @generated_class_methods ||= Module.new.tap { |mod| include mod }
206
198
  end
207
199
  end
208
200
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OptionsModel
4
- VERSION = "0.0.18"
4
+ VERSION = "0.0.19"
5
5
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # desc "Explaining what the task does"
3
4
  # task :options_model do
4
5
  # # Task goes here
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: options_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - jasl
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-12-25 00:00:00.000000000 Z
10
+ date: 2025-02-08 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activemodel
@@ -19,7 +18,7 @@ dependencies:
19
18
  version: '5'
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
- version: '8'
21
+ version: '9'
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +28,7 @@ dependencies:
29
28
  version: '5'
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
- version: '8'
31
+ version: '9'
33
32
  - !ruby/object:Gem::Dependency
34
33
  name: activesupport
35
34
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +38,7 @@ dependencies:
39
38
  version: '5'
40
39
  - - "<"
41
40
  - !ruby/object:Gem::Version
42
- version: '8'
41
+ version: '9'
43
42
  type: :runtime
44
43
  prerelease: false
45
44
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +48,7 @@ dependencies:
49
48
  version: '5'
50
49
  - - "<"
51
50
  - !ruby/object:Gem::Version
52
- version: '8'
51
+ version: '9'
53
52
  - !ruby/object:Gem::Dependency
54
53
  name: psych
55
54
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +86,6 @@ homepage: https://github.com/jasl-lab/options_model
87
86
  licenses:
88
87
  - MIT
89
88
  metadata: {}
90
- post_install_message:
91
89
  rdoc_options: []
92
90
  require_paths:
93
91
  - lib
@@ -102,8 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
100
  - !ruby/object:Gem::Version
103
101
  version: '0'
104
102
  requirements: []
105
- rubygems_version: 3.2.32
106
- signing_key:
103
+ rubygems_version: 3.6.3
107
104
  specification_version: 4
108
105
  summary: Make easier to handle model which will be serialized in a real model.
109
106
  test_files: []