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)