Class: Avro::Schema::PrimitiveSchema

Inherits:
Avro::Schema show all
Defined in:
lib/avro/schema.rb

Overview

Valid primitive types are in PRIMITIVE_TYPES.

Constant Summary

Constants inherited from Avro::Schema

INT_MAX_VALUE, INT_MIN_VALUE, LONG_MAX_VALUE, LONG_MIN_VALUE, NAMED_TYPES, NAMED_TYPES_SYM, PRIMITIVE_TYPES, PRIMITIVE_TYPES_SYM, VALID_TYPES, VALID_TYPES_SYM

Instance Attribute Summary

Attributes inherited from Avro::Schema

#type_sym

Instance Method Summary collapse

Methods inherited from Avro::Schema

#==, #hash, parse, real_parse, #subparse, #to_s, #type, validate

Constructor Details

#initialize(type) ⇒ PrimitiveSchema

Returns a new instance of PrimitiveSchema.



319
320
321
322
323
324
325
326
327
# File 'lib/avro/schema.rb', line 319

def initialize(type)
  if PRIMITIVE_TYPES_SYM.include?(type)
    super(type)
  elsif PRIMITIVE_TYPES.include?(type)
    super(type.to_sym)
  else
    raise AvroError.new("#{type} is not a valid primitive type.")
  end
end

Instance Method Details

#to_avro(names = nil) ⇒ Object



329
330
331
332
# File 'lib/avro/schema.rb', line 329

def to_avro(names=nil)
  hsh = super
  hsh.size == 1 ? type : hsh
end