easy_talk 1.0.2 → 1.0.3
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 +4 -4
- data/.rubocop.yml +6 -3
- data/CHANGELOG.md +21 -0
- data/README.md +737 -157
- data/lib/easy_talk/active_record_schema_builder.rb +292 -0
- data/lib/easy_talk/builders/base_builder.rb +16 -14
- data/lib/easy_talk/builders/object_builder.rb +8 -2
- data/lib/easy_talk/builders/string_builder.rb +1 -2
- data/lib/easy_talk/configuration.rb +27 -0
- data/lib/easy_talk/errors.rb +8 -0
- data/lib/easy_talk/errors_helper.rb +147 -0
- data/lib/easy_talk/model.rb +46 -3
- data/lib/easy_talk/schema_definition.rb +1 -2
- data/lib/easy_talk/version.rb +1 -1
- data/lib/easy_talk.rb +11 -3
- metadata +34 -2
data/lib/easy_talk.rb
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
# The EasyTalk module is the main namespace for the gem.
|
4
4
|
module EasyTalk
|
5
|
-
class Error < StandardError; end
|
6
5
|
require 'sorbet-runtime'
|
7
6
|
require 'easy_talk/sorbet_extension'
|
7
|
+
require 'easy_talk/errors'
|
8
|
+
require 'easy_talk/errors_helper'
|
9
|
+
require 'easy_talk/configuration'
|
8
10
|
require 'easy_talk/types/any_of'
|
9
11
|
require 'easy_talk/types/all_of'
|
10
12
|
require 'easy_talk/types/one_of'
|
@@ -14,6 +16,12 @@ module EasyTalk
|
|
14
16
|
require 'easy_talk/tools/function_builder'
|
15
17
|
require 'easy_talk/version'
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
+
def self.assert_valid_property_options(property_name, options, *valid_keys)
|
20
|
+
valid_keys.flatten!
|
21
|
+
options.each_key do |k|
|
22
|
+
next if valid_keys.include?(k)
|
23
|
+
|
24
|
+
ErrorHelper.raise_unknown_option_error(property_name: property_name, option: options, valid_options: valid_keys)
|
25
|
+
end
|
26
|
+
end
|
19
27
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy_talk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Bayona
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-03-11 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activemodel
|
@@ -51,6 +51,20 @@ dependencies:
|
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0.5'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: activerecord
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '7.0'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '7.0'
|
54
68
|
- !ruby/object:Gem::Dependency
|
55
69
|
name: pry-byebug
|
56
70
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,6 +177,20 @@ dependencies:
|
|
163
177
|
- - ">="
|
164
178
|
- !ruby/object:Gem::Version
|
165
179
|
version: '2.29'
|
180
|
+
- !ruby/object:Gem::Dependency
|
181
|
+
name: sqlite3
|
182
|
+
requirement: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '2'
|
187
|
+
type: :development
|
188
|
+
prerelease: false
|
189
|
+
version_requirements: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '2'
|
166
194
|
description: Generate json-schema from plain Ruby classes.
|
167
195
|
email:
|
168
196
|
- bayona.sergio@gmail.com
|
@@ -184,6 +212,7 @@ files:
|
|
184
212
|
- docs/about.markdown
|
185
213
|
- docs/index.markdown
|
186
214
|
- lib/easy_talk.rb
|
215
|
+
- lib/easy_talk/active_record_schema_builder.rb
|
187
216
|
- lib/easy_talk/builders/all_of_builder.rb
|
188
217
|
- lib/easy_talk/builders/any_of_builder.rb
|
189
218
|
- lib/easy_talk/builders/base_builder.rb
|
@@ -201,6 +230,9 @@ files:
|
|
201
230
|
- lib/easy_talk/builders/time_builder.rb
|
202
231
|
- lib/easy_talk/builders/typed_array_builder.rb
|
203
232
|
- lib/easy_talk/builders/union_builder.rb
|
233
|
+
- lib/easy_talk/configuration.rb
|
234
|
+
- lib/easy_talk/errors.rb
|
235
|
+
- lib/easy_talk/errors_helper.rb
|
204
236
|
- lib/easy_talk/keywords.rb
|
205
237
|
- lib/easy_talk/model.rb
|
206
238
|
- lib/easy_talk/property.rb
|