2.0.2 / 2012-11-18
-
minor enhancements
-
attribute_setclass and instance aliases are created if methods named the same aren’t defined yet
-
2.0.1 / 2012-10-04
-
major enhancements
-
Virtual attributes changes tracking improved; the
attr_virtualDSL keyword can be placed anywhere -
Internal sets refactored, added abstraction layer that utilizes just two class instance variables:
-
‘@attribute_sets` (for keeping sets, attributes map, virtual and semi-real items)
-
‘@attribute_filters` (for keeping filtering methods)
-
-
-
minor enhancements
-
Added conversion methods: AttributeSet#to_hash, AttributeSet#to_attribute_set
-
MetaSetimproved, removed grandparent.class.bind(self).call
-
2.0.0 / 2012-10-01
-
major enhancements
-
Operating speed increased by 100%
-
API change:
-
AttributeSetis now based on a Hash -
Added
MetaSetfor keeping sets of attribute sets -
Added DSL keyword for registering filtering methods
-
DSL method
filter_attributesis using filtering methods registered before
-
-
Creation of duplicates for sets moved to class-level accessors
-
Adding elements to sets improved,
AttributeSetinitializer uses the methodadd -
Common Filters seriously refactored (easily expandable and parametrizable now)
-
Added common filters: Convert, Order, Pick, Presence
-
-
minor enhancements
-
DSL class methods for models have now aliases named in third person
-
‘AttributeSet#annotations` returns a hash containing annotated attributes only
-
Documentation updated, common filters specific documentation moved to
COMMON-FILTERS -
Added ‘AttributeSet::Enumerable#each_name_value` enumerator
-
Added ‘AttributeSet::Enumerable#select_accessible` enumerator
-
Added DSL for attribute name gethering from next method name in a chain
-
Added
filtered_attribute_simpleDSL method -
Added
attribute_set_exists?DSL class method -
Added
virtual?andsemi_real?toAttributeSet::AttrQueryandAttributeSet::Query -
Added
changed?andunchanged?toAttributeSet::AttrQueryandAttributeSet::Query -
Added ‘AttributeSet#to_set`
-
Improved DSL methods:
valid?,invalid?,accessible?,protected? -
Improved
AttributeSet::Queryinitializer (added error checking) -
Improved
attributes_to_filterDLS method (removed redundant calls to duplicates of a set) -
Overriden
inspectmethod inAttributeSet
-
-
major bugfixes
-
Fixed
AttributeSet::Querywrapper calls (passing custom calls to next method was broken) -
Replaced ‘hash.merge(hash)` expressions with more
HashWithIndifferentAccesscompliant
-
-
minor bugfixes
-
Enumerators wrapped to return
AttributeSet::Enumeratorobjects
-
1.4.0 / 2012-08-24
-
major enhancements
-
Added annotations support
-
Added Split and Join common filters
-
Improved virtual attributes handling (added attr_virtual keyword)
-
All common filters can now handle arrays and hashes
-
API change: additional yeld params changed for DSL instance methods:
-
for_each_attr_from_set -
filter_attrs_from_set -
operate_on_attrs_from_set
-
-
API change: class methods return copies of sets, not originals
-
-
minor enhancements
-
Added
valuesandvalues_hashmethods toAttributeSet::Queryfor reading values -
Added
valuemethod toAttributeSet::AttrQueryfor reading value -
Added
eachiterator to custom enumerators -
Added
attribute_set_simpleinstance DSL method for bypassing proxies -
Added
filter_attributesinstance DSL method for running all predefined filters -
Added calls forwarding in proxy classes for
instance_evalandinstance_execmethods -
AttributeSetEnumerableis nowAttributeSet::Enumerable -
AttirbuteSetEnumeratoris nowAttributeSet::Enumerator -
Modified filtering methods so they return specialized enumerator when called whithout a block
-
for_each_attr_from_set -
filter_attrs_from_set
-
-
-
major bugfixes
-
In
AttributeSet::Query: separated instance level data from class level by addingdupwhere needed -
In
AttributeSet: separated instance level data from class level by addingdupwhere needed
-
-
minor bugfixes
-
In
AttributeFilters::Common:Squishsubmodule included inCommonmodule -
In
AttributeSet::Query: replaced calls tosendby calls topublic_send -
In
AttributeSet::Query: replaced calls tomethodby calls topublic_method -
In
AttributeSet::AttrQuery: replaced call tomethodby call topublic_method -
In
AttributeFilters::operate_on_attrs_from_set: replaced calls tosendby calls topublic_send
-
1.3.2 / 2012-08-05
-
minor bugfixes
-
fixed indentation in HISTORY file
-
1.3.1 / 2012-08-05
-
major enhancements
-
Added
accessible?,inaccessible?,protected?attribute checks -
Added
all_accessible_attributes,all_protected_attributes,all_inaccessible_attributes
-
-
minor enhancements
-
Added squish common filter
-
1.3.0 / 2012-08-04
-
major bugfixes
-
In
AttributeSet::Query: proxy now usessendto get attribute values
-
-
major enhancements
-
Added
valid?andinvalid?DSL instance methods -
Added
all_attributesinstance method
-
1.2.2 / 2012-08-03
-
major enhancements
-
Common filtering methods modularized
-
-
minor enhancements
-
Added
is_a?overrides to proxy classes -
Method
attributes_to_filtercan now take attribute set as an argument
-
1.2.1 / 2012-07-09
-
minor bugfixes
-
Fixed documentation links
-
1.2.0 / 2012-07-08
-
major bugfixes
-
In
AttributeSet::Query: removed typo that caused incorrect processing
-
-
minor bugfixes
-
Added missing
respond_to?definitions to proxy classes
-
-
major enhancements
-
Added enumerators (
AttributeSetEnumerableandAttributeSetEnumerator) -
Added predefined filtering methods
-
Added virtual attributes support in filters
-
Written the usage instructions
-
-
minor enhancements
-
Removed the show DSL method from
AttrQueryproxy class -
Added checking of model methods that are needed for a proper operation
-
Proxy class
AttributeSet::Queryis now viral and tries to wrap the results in its own instances -
Added
noneandonepresence selectors toAttributeSet::Queryclass -
Added
from_attributes_thatas an alias for theattribute_setinstance method
-
1.1.2 / 2012-06-30
-
major bugfixes
-
In
operate_on_attrs_from_set: replacedself[attr]and ‘method(attr)` calls withsend(to be ORM agnostic) -
In
attributes_to_filter: inefficientrespond_to?calls replaced by the attributes method call
-
-
major enhancements
-
AttributeFiltersmodule can be now used without full Rails stack, just with Active Model loaded
-
-
minor enhancements
-
Documentation updated
-
Added
attribute-filters/helpers.rbcontainingAttributeFiltersHelpersmodule -
Flags parsing method
attr_filter_process_flagsmoved toAttributeFiltersHelpersasprocess_flags -
Added SuperModel and ActiveRecord dependencies for testing purposes
-
Added first RSpec example
-
1.1.0 / 2012-06-29
-
major enhancement
-
API changed;
call_attrs_from_setname changed tofor_each_attr_from_set, caching removed
-
-
minor enhancements
-
Optimized code for attributes filtering
-
Namespace organized (
AttributeFiltersmoved completely underActiveModelnamespace) -
Prepared for testing with RSpec
-
Added custom CSS file for YARD formatter
-
1.0.2 / 2012-06-28
-
minor enhancements
-
Documentation updated
-
Extended arguments parsing for DSL class method
attribute_set
-
1.0.1 / 2012-06-28
-
minor enhancements
-
Documentation updated
-
Rakefile and gemspec updated
-
1.0.0 / 2012-06-28
-
major enhancement
-
Birthday!
-