class Nidyx::Property
Attributes
class_name[R]
collection_types[R]
description[R]
enum[R]
minimum[R]
name[R]
optional[R]
overriden_name[RW]
type[R]
Public Class Methods
new(name, class_name, optional, obj)
click to toggle source
# File lib/nidyx/property.rb, line 16 def initialize(name, class_name, optional, obj) @name = name.camelize(false) @class_name = class_name @optional = optional @enum = obj[ENUM_KEY] @type = process_type(obj[TYPE_KEY], @enum) @description = obj[DESCRIPTION_KEY] @properties = obj[PROPERTIES_KEY] @collection_types = obj[COLLECTION_TYPES_KEY] @minimum = obj[MINIMUM_KEY] end
Public Instance Methods
has_properties?()
click to toggle source
# File lib/nidyx/property.rb, line 28 def has_properties? !!@properties end
Private Instance Methods
process_type(type, enum)
click to toggle source
# File lib/nidyx/property.rb, line 34 def process_type(type, enum) if enum raise NonArrayEnumError unless @enum.is_a?(Array) raise EmptyEnumError if @enum.empty? return end case type when Array raise UndefinedTypeError if type.empty? Set.new(type.map { |t| t.to_sym }) when String type.to_sym else raise UndefinedTypeError end end