Class: EasyTalk::Builders::UnionBuilder
- Inherits:
-
Object
- Object
- EasyTalk::Builders::UnionBuilder
- Extended by:
- CollectionHelpers, T::Sig
- Defined in:
- lib/easy_talk/builders/union_builder.rb
Overview
Base builder class for array-type properties.
Class Method Summary collapse
- .collection_type? ⇒ Boolean extended from CollectionHelpers
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(name, type, constraints) ⇒ UnionBuilder
constructor
A new instance of UnionBuilder.
- #schemas ⇒ Object
- #types ⇒ Object
Constructor Details
#initialize(name, type, constraints) ⇒ UnionBuilder
Returns a new instance of UnionBuilder.
14 15 16 17 18 19 |
# File 'lib/easy_talk/builders/union_builder.rb', line 14 def initialize(name, type, constraints) @name = name @type = type @constraints = constraints @context = {} end |
Class Method Details
.collection_type? ⇒ Boolean Originally defined in module CollectionHelpers
Instance Method Details
#build ⇒ Object
22 23 24 25 26 |
# File 'lib/easy_talk/builders/union_builder.rb', line 22 def build @context[@name] = { 'anyOf' => schemas } end |
#schemas ⇒ Object
29 30 31 32 33 |
# File 'lib/easy_talk/builders/union_builder.rb', line 29 def schemas types.map do |type| Property.new(@name, type, @constraints).build end end |
#types ⇒ Object
36 37 38 |
# File 'lib/easy_talk/builders/union_builder.rb', line 36 def types @type.types end |