README.md in avro-builder-0.14.1 vs README.md in avro-builder-0.15.0.rc0

- old
+ new

@@ -314,10 +314,29 @@ record :with_date_array required :date_array, :array, int(logical_type: date) end ``` +### Abstract Types + +Types can be declared as abstract in the DSL. Declaring a type as abstract +prevents the rake task from generating an Avro JSON schema for the type. + +A type can be declared as abstract using either an option or a method in the +DSL when defining the type: + +```ruby +record :unique_id, abstract: true + required :uuid, :fixed, size: 38 +end + +enum :status do + symbols %w(valid invalid) + abstract true +end +``` + ### Type Macros `avro-builder` allows type macros to be defined that expand to types that cannot normally be named in Avro schemas. These macro names are not retained in generated schemas but allow definitions to be reused across DSL files: @@ -336,9 +355,12 @@ ```ruby type_macro :timestamp, long(logical_type: 'timestamp-millis'), namespace: 'com.my_company' ``` + +Type macros are always marked as abstract and do not generate an Avro JSON +schema file when using the rake task. ### Auto-loading and Imports Specify paths to search for definitions: