Class: Avro::Schema::PrimitiveSchema
- Inherits:
-
Schema
- Object
- Schema
- Avro::Schema::PrimitiveSchema
- Defined in:
- lib/avro/schema.rb
Overview
Valid primitive types are in PRIMITIVE_TYPES.
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(type, logical_type = nil) ⇒ PrimitiveSchema
constructor
A new instance of PrimitiveSchema.
- #match_schema?(schema) ⇒ Boolean
- #to_avro(names = nil) ⇒ Object
Constructor Details
#initialize(type, logical_type = nil) ⇒ PrimitiveSchema
Returns a new instance of PrimitiveSchema.
466 467 468 469 470 471 472 473 474 |
# File 'lib/avro/schema.rb', line 466 def initialize(type, logical_type=nil) if PRIMITIVE_TYPES_SYM.include?(type) super(type, logical_type) elsif PRIMITIVE_TYPES.include?(type) super(type.to_sym, logical_type) else raise AvroError.new("#{type} is not a valid primitive type.") end end |
Instance Method Details
#match_schema?(schema) ⇒ Boolean
481 482 483 484 |
# File 'lib/avro/schema.rb', line 481 def match_schema?(schema) return type_sym == schema.type_sym # TODO: eventually this could handle schema promotion for primitive schemas too end |
#to_avro(names = nil) ⇒ Object
476 477 478 479 |
# File 'lib/avro/schema.rb', line 476 def to_avro(names=nil) hsh = super hsh.size == 1 ? type : hsh end |