blueprinter_schema 1.3.0 → 1.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0cafd732029c0e4f3cd09d13dd6809e3e68f599c194a24247774e7d18f6233ca
4
- data.tar.gz: 1bf4791a3812e9f16bd3c8d7f8ed0bc2a91095130b91286fa75d3b72954b1482
3
+ metadata.gz: 820f85b8d22780549e1913cd8fa26f219c425c14746296b466b7966efc58bb2b
4
+ data.tar.gz: c013ef3d11fe9c214a21e0400ba2f0c66aa2ca2be0fb62e9feafe0fed0b55e46
5
5
  SHA512:
6
- metadata.gz: 02577f5a4da542def621be3544ff1c82d4509addfc2b8b7a1264a9a6e7d079943ae75c0574f160354f48ebf3c6b1481eeb09d899a35fb3ed83b169e25671a482
7
- data.tar.gz: 6690022f62b1a2ad817a362ae2322300e0013c22494b1bb2efe195478c0a6036063c3c31ae422ab92b1745591cacdf4d6aba0356e386df32d1419f28c8ecb717
6
+ metadata.gz: 6075da5a95d77f0f0c2142f7d1a9f94e067c863f4f1aa6c042945e5793367633147005824bbd12fff807e10568c653ebd734cebcb9b67d261710178053f61410
7
+ data.tar.gz: 7b89616467a6d82202bc2b105f4e948392a4c1fd841c56a6dcb4c66130897ad49d94b2140362576297ca59d615cb37b1eaf2f340eabf01b2702a05790f3808a2
data/README.md CHANGED
@@ -159,7 +159,7 @@ BlueprinterSchema.generate(serializer: UserSerializer)
159
159
  "additionalProperties" => false
160
160
  }
161
161
  },
162
- "required" => ["email", "addresses", "profile"],
162
+ "required" => ["email", "addresses", "profile", "account"],
163
163
  "additionalProperties" => false
164
164
  }
165
165
  ```
@@ -58,10 +58,21 @@ module BlueprinterSchema
58
58
  end
59
59
 
60
60
  def build_required_fields
61
+ (required_field_names + required_association_names).map(&:to_s)
62
+ end
63
+
64
+ def required_field_names
61
65
  fields
62
66
  .reject { |_, field| field.options[:exclude_if_nil] }
63
67
  .reject { |_, field| skip_field?(field) }
64
- .keys.map(&:to_s)
68
+ .keys
69
+ end
70
+
71
+ def required_association_names
72
+ associations
73
+ .reject { |_, association| association.options[:exclude_if_nil] }
74
+ .reject { |_, association| skip_field?(association) }
75
+ .keys
65
76
  end
66
77
 
67
78
  def field_to_json_schema(field)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BlueprinterSchema
4
- VERSION = '1.3.0'
4
+ VERSION = '1.4.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blueprinter_schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - thisismydesign