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: