lib/schemacop/v3/node.rb in schemacop-3.0.0.rc2 vs lib/schemacop/v3/node.rb in schemacop-3.0.0.rc3
- old
+ new
@@ -1,9 +1,10 @@
module Schemacop
module V3
class Node
attr_reader :name
+ attr_reader :as
attr_reader :default
attr_reader :title
attr_reader :description
attr_reader :options
attr_reader :parent
@@ -30,12 +31,14 @@
node = klass.new(**options, &block)
if options.delete(:cast_str)
format = NodeRegistry.name(klass)
one_of_options = {
- required: options.delete(:required),
- name: options.delete(:name)
+ required: options.delete(:required),
+ name: options.delete(:name),
+ as: options.delete(:as),
+ description: options.delete(:description)
}
node = create(:one_of, **one_of_options) do
self.node node
str format: format, format_options: options
end
@@ -43,11 +46,11 @@
return node
end
def self.allowed_options
- %i[name required default description examples enum parent options cast_str title]
+ %i[name required default description examples enum parent options cast_str title as]
end
def self.dsl_methods
%i[dsl_scm dsl_node]
end
@@ -73,9 +76,10 @@
end
# Assign attributes #
@name = options.delete(:name)
@name = @name.to_s unless @name.nil? || @name.is_a?(Regexp)
+ @as = options.delete(:as)
@required = !!options.delete(:required)
@default = options.delete(:default)
@title = options.delete(:title)
@description = options.delete(:description)
@examples = options.delete(:examples)