Please welcome PeanutButter 1.0.118!
(if you don't know what PeanutButter is -- apart from a yummy spread and a rather silly name for an open-source project -- have a gander here: http://davydm.blogspot.co.za/2014/06/introducing.html)What's new:
- Updates to DatabaseHelpers:
- Fluent syntax for conditions (.And() and .Or() extension methods)
- EqualityOperators changes
- Like_ is deprecated (but still functions). It is replaced by Contains, with the same functionality
- Like is new: does not insert any wildcards -- that's up to you! (also, finally, has a reasonable name, now that I know how to use keywords as identifiers in VB.NET. Yes, the DBHelpers are written in VB.NET. Get over it.)
- StartsWith: does what it says on the tin
- EndsWith: also does what it says on the tin
- Added ConcatenatedField for when you want some composite result from a few fields
- Updated CalculatedField: All *Fields now implement IField, so all of the existing funcationality which SelectFields could give you can also be found for the others (conditions, etc)
- Enumerable convenience functions
- And() -- like Union() but produces an Array
- eg new[] { 1, 2 }.And(3) is equivalent to new[] { 1,2,3}
- ButNot() -- like Except(), but produces an Array
- RandomGenerators:
- RandomValueGen.GetRandomCollection
- Takes a factory function and optionally min/max number of items
- eg to get a random-sized IEnumerable<int> of random ints, do:
RandomValueGen.GetRandomCollection(() => RandomValueGen.GetRandomInt()) - RandomValueGen.GetRandomSelectionFrom
- picks some random items from another collection
- ExpressionHelper:
- GetMemberPathFor:
use to get full property paths from lambdas, eg
ExpressionHelper.GetMemberPathFor<Foo>(fooItem => fooItem.SomeProperty.SomeValue)
gets you
"SomeProperty.SomeValue"
Useful for testing or somewhere where you need to get to properties dynamically - GetPropertyTypeFor:
Similar usage to GetMemberPathFor, but returns the property type - Of course, there are some bugfixes
- And probably other stuff I forgot... It's been a while since I tooted on the PeanutButter horn.
As always, usage, source availability and distribution remain totally free.
No comments:
Post a Comment