CHANGELOG¶ ↑
0.6.x¶ ↑
-
0.6.0
-
PERFORMANCE:
-
Performance gains in
#cushion_reader
of 20-100%. Now roughly comparable toattr_reader
. -
In total, execution speed of
#cushion_reader
is 200-400% faster than in v. 0.0.0.
-
-
API CHANGE:
-
The following methods have been deprecated.
-
ClassMethods#remove_reader
(seeClassMethods#remove_cushion_reader
) -
ClassMethods#remove_bang
(seeClassMethods#remove_cushion_bang
) -
ClassMethods#remove_writer
(seeClassMethods#remove_writer
)
-
-
The now-deprecated methods, when called for
sym
, would remove any method that fit the appropriate reader/bang/writer naming convention. The new methods will only remove CushionDefaults-defined methods. -
Making a default pushy or polite now automatically declares a cushion_reader for that default in the relevant class.
-
-
0.5.x¶ ↑
-
0.5.2: PERFORMANCE
-
Another 40% shaved off
cushion_reader
execution times. (In total, execution speed is ~180% faster than v. 0.0.0.) -
Between roughly 18% and 75% shaved off
cushion_writer
(depending on input). -
Another 40% shaved off
cushion_reader
execution times. (In total, execution speed is ~180% faster than v. 0.0.0.) -
Between roughly 18% and 75% shaved off
cushion_writer
(depending on input).
-
-
0.5.1
-
DEPENDENCY: Support now added for Ruby >= 1.9.3
-
CONFIGURATION: Default log level now WARN (was INFO)
-
BUGFIX: Remove unnecessary warning on adding
bang_readers
-
PERFORMANCE: Moderate performance gains (approx. 20%) on
cushion_reader
-
-
0.5.0
-
NEW FEATURE: Bang Readers
-
When called, a bang reader (e.g.,
var!
) crystallizesvar
, if not set, to the default value forvar
. -
Especially useful for permanently fixing the value of a proc cushion.
-
Key method:
ClassMethods#bang_reader
-
-
NEW OPTION: bang_things_up
-
If true, bang readers will automatically be set up every time a cushion_reader is created.
-
Default: true
-
-
BUGFIX: fix interaction between procs and crystallize_defaults
-
DOCUMENTATION: Expand README.md
-
0.4.x¶ ↑
-
0.4.0 - NEW FEATURE: Proc Cushions
-
You can now set a default to a proc that will be evaluated whenever an instance variable is absent.
-
For more information, see “Proc Cushions” in README.md.
-
0.3.x¶ ↑
-
0.3.1: BUGFIX: Corrected fatal error in freeze_defaults, deep_freeze_defaults, and thaw_defaults
-
0.3.0 - NEW FEATURE: Freezing and thawing defaults.
-
You may wish to prevent a default from further modification, either permanently or temporarily. This can prevent silly mistakes that are otherwise difficult to track down.
CushionDefaults
now makes this possible via a freezing and thawing API. -
For more information, see especially:
-
ClassMethods#freeze_default
-
ClassMethods#deep_freeze_default
-
ClassMethods#thaw_default
-
-
0.2.x¶ ↑
-
0.2.0
-
Place Configuration within the
CushionDefaults
module. -
Place Configuration within the
CushionDefaults
module. -
IMPROVEMENT:
cushion_defaults.gemspec
-
Clarify and expand
cushion_defaults.gemspec
. Was insufficient before. -
Now specifies development dependencies.
-
Add Gemfile for bundler
-
-
IMPROVEMENT: Testing
-
test/
renamed tospec/
-
Add
.rspec
andspec/spec_helper.rb
-
-
DOCUMENTATION: Numerous expansions
-
0.1.x¶ ↑
-
0.1.1
-
Greatly improve and expand documentation.
-
Switch from rdoc to Yard
-
Greatly improve and expand documentation.
-
Switch from rdoc to Yard
-
-
0.1.0
-
NEW FEATURE: Logging
-
Add
config.record_in_log
(boolean),config.log_lvl (int)
, andconfig.logger
(Logger or similar) options. -
Add logging throughout the module at various levels.
-
Logging enabled by default at info level.
-
Add
config.record_in_log
(boolean),config.log_lvl (int)
, andconfig.logger
(Logger or similar) options. -
Add logging throughout the module at various levels.
-
Logging enabled by default at info level.
-
-
Improve performance of
cushion_reader
by approx. 115%.
-
0.0.x¶ ↑
-
0.0.3
-
Fix various bugs related to YAML config loading.
-
Improve examples.
-
Fix various bugs related to YAML config loading.
-
Improve examples.
-
-
0.0.2
-
Improve
cushion_reader
speed by approx. 15%. -
Specify Ruby version >= 2.0.0.
-
-
0.0.1
-
Include MIT License.
-
Specify GitHub homepage.
-
-
0.0.0: Initial version.