We are so excited to bring a major version release of our Mementifier Module. For those of you who do not know what Mementifier is, here is a small synopsis.
What is Mementifier?
This module will transform your business objects into native ColdFusion (CFML) data structures with :rocket speed. It will inject itself into ORM objects and/or business objects alike and give them a nice getMemento() function to transform their properties and relationships (state) into a consumable structure or array of structures. It can even detect ORM entities and you don't even have to write the default includes manually, it will auto-detect all properties. No more building transformations by hand! No more inconsistencies! No more repeating yourself! Best of all, it is lightning fast!
Defining Mementos
this.memento = {
// An array of the properties/relationships to include by default
defaultIncludes = [
"firstName",
"lastName",
// Relationships
"role.roleName",
"role.roleID",
"permissions",
"children"
],
// An array of properties/relationships to exclude by default
defaultExcludes = [],
// An array of properties/relationships to NEVER include
neverInclude = [ "password" ],
// A struct of defaults for properties/relationships if they are null
defaults = {
"role" : {},
"office" : {}
},
// A struct of mapping functions for properties/relationships that can transform them
mappers = {}
}
Getting Mementos
struct function getMemento(
includes="",
excludes="",
struct mappers={},
struct defaults={},
boolean ignoreDefaults=false
)
Release Notes
Here are the release notes for this major release:
Features
- Enabled wildcard default includes (*) to retrieve inherited object properties instead of doing wacky things for inherited defaults to work.
- New setting to chose a default value to expose when getters return
null:nullDefaultValue - ORM Auto includes now ONLY includes properties to avoid bi-directional recursive exceptions. This is also a compatiblity, where before EVERYTHING was included. Now, only properties are included.
Improvements
- Updated to cborm2 for testing harness
- Updated to TestBox 3
Compatibility
- Removed ACF 11 Support
- ORM Auto includes only marshalls properties instead of everything.
Add Your Comment