options_model 0.0.14 → 0.0.18

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: b4e29ec3194ea217ff7c8a44d06c78bce83298323a7b4f55e590648b3d5da452
4
- data.tar.gz: fff6ee9e90c32c566778effdff07899d2d41255b1ad39244efff2abd3afb4549
3
+ metadata.gz: ab42d3e3b9e4a75c96044749d91848d29e8c9b619e6256cc106820a4ed2b97d0
4
+ data.tar.gz: 86e1a7eef5263efceb7a035cb00f017b22e50e7eefa320e1d6cc9b213668a9b3
5
5
  SHA512:
6
- metadata.gz: e32035b0d90328dc8df7974224b2b244fbe0690cbd121a83a03e0c0b931657e10e06eda4ab6a0f955225d915829172ff599211d2b33bfd95f3776589ea0eff1d
7
- data.tar.gz: 7f292be9bde0d3c61826e87ae20a2ed4d7b99743d10f85c6c3992db0476deb84d13488d1ce5b45c017cf136dfc7d85ce3a933e8184c6883d38c8731c2324e562
6
+ metadata.gz: bbfa20c312c15fb5ab84bbdb5f2691dd2848203b5f45f63253c7570a152574abedf95db3c501d20631734232b94c4b5eeb1a74d51cec25e3eba20e70d08291ca
7
+ data.tar.gz: c0c165ba0542fe6ac1d1e542a50c6944adb312055253d6d3026a2950626431b7cc62bbd356b09ce02907833376aed321ec4de6597e9c0ad61f2b48fff614e0b1
data/README.md CHANGED
@@ -13,21 +13,21 @@ support attribute:
13
13
 
14
14
  ```ruby
15
15
  class Person < OptionsModel::Base
16
- attribute :name, :string
17
- attribute :age, :integer
16
+ attribute :name, :string
17
+ attribute :age, :integer
18
18
 
19
- validates :name, presence: true
19
+ validates :name, presence: true
20
20
  end
21
21
 
22
22
  class Book < OptionsModel::Base
23
- embeds_one :author, class_name: 'Person'
23
+ embeds_one :author, class_name: 'Person'
24
24
 
25
- attribute :title, :string
26
- attribute :tags, :string, array: true
27
- attribute :price, :decimal, default: 0
28
- attribute :bought_at, :datetime, default: -> { Time.new }
25
+ attribute :title, :string
26
+ attribute :tags, :string, array: true
27
+ attribute :price, :decimal, default: 0
28
+ attribute :bought_at, :datetime, default: -> { Time.new }
29
29
 
30
- validates :title, presence: true
30
+ validates :title, presence: true
31
31
  end
32
32
  ```
33
33
 
@@ -35,7 +35,7 @@ module OptionsModel
35
35
  return new unless yaml
36
36
  return new unless yaml.is_a?(String) && /^---/.match?(yaml)
37
37
 
38
- hash = YAML.safe_load(yaml) || {}
38
+ hash = YAML.safe_load(yaml, permitted_classes: permitted_attribute_classes) || {}
39
39
 
40
40
  unless hash.is_a? Hash
41
41
  raise ArgumentError,
@@ -52,6 +52,10 @@ module OptionsModel
52
52
  def with_unused_attributes?
53
53
  @with_unused_attributes
54
54
  end
55
+
56
+ def permitted_attribute_classes
57
+ @permitted_attribute_classes ||= [Symbol]
58
+ end
55
59
  end
56
60
  end
57
61
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OptionsModel
4
- VERSION = "0.0.14"
4
+ VERSION = "0.0.18"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: options_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - jasl
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-16 00:00:00.000000000 Z
11
+ date: 2021-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '5'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '7'
22
+ version: '8'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '5'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '7'
32
+ version: '8'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '5'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '7'
42
+ version: '8'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,21 @@ dependencies:
49
49
  version: '5'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '7'
52
+ version: '8'
53
+ - !ruby/object:Gem::Dependency
54
+ name: psych
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '3.2'
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '3.2'
53
67
  description: An ActiveModel implementation that make easier to handle model which
54
68
  will be serialized in a real model.
55
69
  email:
@@ -73,7 +87,7 @@ homepage: https://github.com/jasl-lab/options_model
73
87
  licenses:
74
88
  - MIT
75
89
  metadata: {}
76
- post_install_message:
90
+ post_install_message:
77
91
  rdoc_options: []
78
92
  require_paths:
79
93
  - lib
@@ -88,8 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  requirements: []
91
- rubygems_version: 3.0.3
92
- signing_key:
105
+ rubygems_version: 3.2.32
106
+ signing_key:
93
107
  specification_version: 4
94
108
  summary: Make easier to handle model which will be serialized in a real model.
95
109
  test_files: []