README.md in golden_fleece-0.1.5 vs README.md in golden_fleece-1.0.0
- old
+ new
@@ -36,11 +36,11 @@
end
person.profile['first_name'] = 'Jane'
person.profile['last_name'] = nil
person.valid? # true
-person.export_fleece # { profile: { first_name: 'Jane', last_name: nil, zip_code: '90210' } }
+person.export_fleece # { profile: { 'first_name' => 'Jane', 'last_name' => nil, 'zip_code' => '90210' } }
person.profile.delete 'first_name'
person.valid? # false
```
@@ -103,21 +103,21 @@
zip_code: { type: :string, default: '90210' }
}
person.profile['zip_code'] = nil
person.valid? # true
-person.export_fleece # { profile: { zip_code: '90210' } }
+person.export_fleece # { profile: { 'zip_code' => '90210' } }
person.profile['zip_code'] # nil
```
In addition to static values, you can use Proc's to dynamically generate defaults at runtime:
```ruby
define_schemas :profile, {
zip_code: { type: :string, default: -> record { record.closest_location.zip_code } }
}
-person.export_fleece # { profile: { zip_code: '94131' } }
+person.export_fleece # { profile: { 'zip_code' => '94131' } }
```
### Getters
Top-level keys in your JSON columns can automatically be mapped as getters on your data model's instances using `define_getters`. Getters are safe and will _never_ override any preexisting instance methods: