isomorfeus-data 2.5.0 → 2.5.3

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: 69be34181734a815ae1468128e569eee76b41d4022217f21042e0b96a63acbd2
4
- data.tar.gz: 351403a3931b8a69c44612d52a5f322813ad0e57f9b14383ec4e255b6d3742a9
3
+ metadata.gz: 965fa63d67ccde20b9bf7161c149e29339290e21d0dfbad0c6b86d12fd6141a1
4
+ data.tar.gz: d4393a5c679b9c617bdfefe56b563196f601103378357410d7a866c728dd2bbb
5
5
  SHA512:
6
- metadata.gz: bb1f8eed6401abdbc008c6616b21d77e77d91dff6fe53ac19cecea03a313c260fc3aa6fe042aa3d98c46c030adc426eacd76a042730fe562dde5a775e870ee3e
7
- data.tar.gz: 1b7fefa06146fd81b733fd4ecf8c04ab4385bab3669875fc9cd0fad2fe1fe170b75db70202d305d344b8bfee02f9741ba9aa68aae96cb5e6629833e6032ed350
6
+ metadata.gz: 76a9a313add2b8cf097743a302c8d88616e6ee27babfb4a9022cd79417b5ea35b728996bfc0b4bb85015c5bba17a2c5b6cc08e60209dea040e00dd622e3e02b2
7
+ data.tar.gz: a125775700db71f4f836652c51e66dcc2f8ebe54a2a4c309790c057546978c75a446c1325d6a86aaa8f283478c193a940fc0017f2648f6494a9ad67680c3f1a6
@@ -40,11 +40,13 @@ module Isomorfeus
40
40
  def attribute(name, options = {})
41
41
  field(name, :attribute, options)
42
42
  end
43
+ alias embed attribute
43
44
 
44
45
  def object(name, options = {})
45
46
  default_options = { is_a: LucidObject::Mixin, allow_nil: true }
46
47
  field(name, :object, default_options.merge(options))
47
48
  end
49
+ alias reference object
48
50
 
49
51
  def field?(field_name)
50
52
  field_options.key?(field_name)
@@ -62,9 +64,13 @@ module Isomorfeus
62
64
  field_types[obj_name] == :object
63
65
  end
64
66
 
67
+ def validate_field!(field_name, val)
68
+ raise "no such field" unless field?(field_name)
69
+ Isomorfeus::Props::Validator.new(self.name, field_name, val, field_conditions[field_name]).validate!
70
+ end
71
+
65
72
  def valid_field?(field_name, val)
66
- return Isomorfeus::Props::Validator.new(self.name, field_name, val, field_conditions[field_name]).validate! if field?(field_name)
67
- false
73
+ validate_field!(field_name, val)
68
74
  rescue
69
75
  false
70
76
  end
@@ -82,6 +88,7 @@ module Isomorfeus
82
88
  rescue
83
89
  false
84
90
  end
91
+ alias valid_embed? valid_attribute?
85
92
 
86
93
  def valid_object?(obj_name, val)
87
94
  return valid_field?(obj_name, val) if object?(obj_name)
@@ -89,6 +96,7 @@ module Isomorfeus
89
96
  rescue
90
97
  false
91
98
  end
99
+ alias valid_reference? valid_object?
92
100
 
93
101
  def validate
94
102
  Isomorfeus::Props::ValidateHashProxy.new
@@ -85,7 +85,7 @@ module Isomorfeus
85
85
 
86
86
  def save_object(key, fields, already_saved)
87
87
  id = get_object_id(key)
88
- raise "object not created yet" unless id
88
+ return create_object(key, fields, already_saved) unless id
89
89
  ft = @object_class.field_types
90
90
  hash = fields.to_h do |k, v|
91
91
  [k, serialize_or_save(v, ft[k], already_saved)]
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Data
3
- VERSION = '2.5.0'
3
+ VERSION = '2.5.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-30 00:00:00.000000000 Z
11
+ date: 2022-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.14.22
75
+ version: 0.14.24
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.14.22
82
+ version: 0.14.24
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: isomorfeus-ferret
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 2.5.0
103
+ version: 2.5.3
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 2.5.0
110
+ version: 2.5.3
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: isomorfeus-policy
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 2.5.0
117
+ version: 2.5.3
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 2.5.0
124
+ version: 2.5.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: isomorfeus-preact
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -156,28 +156,28 @@ dependencies:
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 2.5.0
159
+ version: 2.5.3
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 2.5.0
166
+ version: 2.5.3
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: isomorfeus
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - '='
172
172
  - !ruby/object:Gem::Version
173
- version: 2.5.0
173
+ version: 2.5.3
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - '='
179
179
  - !ruby/object:Gem::Version
180
- version: 2.5.0
180
+ version: 2.5.3
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement