diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index b70ee082..00000000 --- a/CHANGELOG +++ /dev/null @@ -1,242 +0,0 @@ -2022-07-14 (v3.1.1) - - Make scopes chainable [#248](https://github.com/active-hash/active_hash/pull/248) @andreynering - - Set default key attributes [#251](https://github.com/active-hash/active_hash/pull/251/commits/68a0a121d110ac83f4bbf0024f027714fd24debf) @adampal - - Migrate from Travis to GitHub Actions for CI @kbrock - - Add primary_key support for has_one [#218](https://github.com/active-hash/active_hash/pull/218) @yujideveloper - - Return a chainable relation when using .not [#205](https://github.com/active-hash/active_hash/pull/205) @pfeiffer - - Correct fields with YAML aliases in array style [#226](https://github.com/active-hash/active_hash/pull/226) @stomk - - Add ActiveHash::Relation#size method for compatibily [#227](https://github.com/active-hash/active_hash/pull/227) @sluceno - - Implement ActiveRecord::RecordNotFound interface [#207](https://github.com/active-hash/active_hash/pull/207) @ChrisBr - - Fix find_by_id with filter chain [#210](https://github.com/active-hash/active_hash/pull/210) @ChrisBr - - Suppress Ruby 2.7 kwargs warnings [#206](https://github.com/active-hash/active_hash/pull/206) @yhirano55 - - Call reload if @records is not defined [#208](https://github.com/active-hash/active_hash/pull/208) @jonmagic - - Switch to rspec3 (and update the Gemfile) [#209](https://github.com/active-hash/active_hash/pull/209) @djberg96 - - Implement filter by RegEx [#211](https://github.com/active-hash/active_hash/pull/211) @ChrisBr - - Supports .pick method [#195](https://github.com/active-hash/active_hash/pull/195/files) @yhirano55 - - Lots of other small performance improvements, documentation and testing. Thanks to everyone who contributed! - -2020-01-15 (v3.1.0) - - Add ActiveHash::Base.order method inspired by ActiveRecord [#177](https://github.com/active-hash/active_hash/pull/177) - - Add #to_ary to ActiveHash::Relation [#182](https://github.com/active-hash/active_hash/pull/182) - - Allow #find to behave like Enumerable#find if id is nil and a block is given [#183](https://github.com/active-hash/active_hash/pull/183) - - Delegate :sample to `records` [#189](https://github.com/active-hash/active_hash/pull/189) - -2019-09-28 (v3.0.0) - - Make #where chainable [#178](https://github.com/active-hash/active_hash/pull/178) - -2019-09-28 (v2.3.0) - - Add ::scope method (inspired by ActiveRecord) [#173](https://github.com/active-hash/active_hash/pull/173) - - Let `.find(nil)` raise ActiveHash::RecordNotFound (inspired by ActiveRecord) [#174](https://github.com/active-hash/active_hash/pull/174) - - `where` clause now works with range argument [#175](https://github.com/active-hash/active_hash/pull/175) - -2019-03-06 (v2.2.1) - - Allow empty YAML [#171](https://github.com/active-hash/active_hash/pull/171) Thanks, @ppworks - -2018-11-22 (v2.2.0) - - Support pluck method [#164](https://github.com/active-hash/active_hash/pull/164) Thanks, @ihatov08 - - Support where.not method [#167](https://github.com/active-hash/active_hash/pull/167) Thanks, @DialBird - -2018-04-05 (v2.1.0) - - Allow to use ERB (embedded ruby) in yml files [#160](https://github.com/active-hash/active_hash/pull/160) Thanks, @UgoMare - - Add `ActiveHash::Base.polymorphic_name` [#162](https://github.com/active-hash/active_hash/pull/162) - - Fix to be able to use enum accessor constant with same name as top-level constant[#161](https://github.com/active-hash/active_hash/pull/161) Thanks, @yujideveloper - -2018-02-27 (v2.0.0) - - Drop old Ruby and Rails support [#157](https://github.com/active-hash/active_hash/pull/157) - - Don't generate instance accessors for class attributes [#136](https://github.com/active-hash/active_hash/pull/136) Thanks, @rainhead - -2017-06-14 (v1.5.3) - - Support symbol values in where and find_by [#156](https://github.com/active-hash/active_hash/pull/156) Thanks, @south37 - -2017-06-14 (v1.5.2) - - Fix find_by when passed an invalid id [#152](https://github.com/active-hash/active_hash/pull/152) Thanks, @davidstosik - -2017-04-20 (v1.5.1) - - Fix a bug on `.where` [#147](https://github.com/active-hash/active_hash/pull/147) - -2017-03-24 (v1.5.0) - - add support for `.find_by!`(@syguer) - -2015-09-13 (v1.4.1) - - fix bug where `#attributes` didn't contain default values #107 - - add support for `.find_by` and `#_read_attribute`. Thanks, @andrewfader! - -2014-09-03 (v1.4.0) - - support Rails 4.2 (agraves, al2o3cr) - -2014-02-18 (v1.3.0) - - fix bug where including ActiveHash associations would make `belongs_to :imageable, polymorphic: true` blow up - - fixed several bugs that prevented active hash from being used without active record / active model - - add support for splitting up data sources into multiple files (rheaton) - - add support for storing data in json files (rheaton) - -2013-11-29 (v1.2.3) - - fix bug where active hash would call `.all` on models when setting has_many (grosser) - -2013-11-05 (v1.2.2) - - fix bug in gemspec that made it impossible to use w/ Rails 4 - -2013-10-24 (v1.2.1) - - fixed nasty bug in belongs_to that would prevent users from passing procs (thanks for the issue freebird0221) - - fixed bug where passing in a separate class name to belongs_to_active_hash would raise an exception (mauriciopasquier) - -2013-10-01 (v1.2.0) - - belongs_to is back! - - added support for primary key options for belongs_to (tomtaylor) - -2013-09-09 (v1.0.2) - - `where(nil)` returns all results, like ActiveRecord (kugaevsky) - -2013-07-15 (v1.0.1) - - Travis CI for ActiveHash + Ruby 2, 1.8.7, Rubinius and JRuby support (mattheworiordan) - - no longer need to call .all before executing `find_by_*` or `where` methods (mattheworiordan) - -2013-06-24 (v1.0.0) - - save is a no-op on existing records, instead of raising an error (issue #63) - -2013-06-24 (v0.10.0) - - added ActiveYaml::Aliases module so you can DRY up your repetitive yaml (brett-richardson) - -2013-05-23 (v0.9.14) - - enum_accessor can now take multiple field names when generating the constant - - temporarily disabled rails edge specs since there's an appraisal issue with minitest - -2013-01-22 - - Fix find_by_id and find method returning nil unless .all called in ActiveYaml (mattheworiordan) - -2012-07-25 - - Make find_by_id lookups faster by indexing records by id (desmondmonster) - -2012-07-16 - - Validate IDs are unique by caching them in a set (desmondmonster) - -2012-04-14 - - Support for has_one associations (kbrock) - -2012-04-05 - - Allow gems like simple_form to read metadata about belongs_to associations that point to active hash objects (kbrock) - -2012-01-19 - - Move specs to appraisal (flavorjones) - -2012-01-18 (v0.9.8) - - Make ActiveHash.find with array raise an exception when record cannot be found (mocoso) - -2011-09-18 (v0.9.7) - - Fixing the setting of a belongs_to_active_hash association by association (not id). - -2011-08-31 - - added a module which adds a .belongs_to_active_hash method to ActiveRecord, since it was broken for Rails 3.1 (thanks to felixclack for pointing this issue out) - -2011-06-07 - - fixed bug where .find would not work if you defined your ids as strings - -2011-06-05 - - fixed deprecation warnings for class_inheritable_accessor (thanks scudco!) - - added basic compatibility with the `where` method from Arel (thanks rgarver!) - -2011-04-19 - - better dependency management and compatibility with ActiveSupport 2.x (thanks vandrijevik!) - -2011-01-22 - - improved method_missing errors for dynamic finders - - prevent users from trying to overwrite :attributes (https://github.com/active-hash/active_hash/issues/#issue/33) - -2010-12-08 - - ruby 1.9.2 compatibility - -2010-12-06 - - added dependency on ActiveModel - - add persisted? method to ActiveHash::Base - - ActiveHash::Base#save takes *args to be compatible with ActiveModel - - ActiveHash::Base#to_param returns nil if the object hasn't been saved - -2010-11-09 - - Use Ruby's definition of "word character" (numbers, underscores) when forming ActiveHash::Enum constants (tstuart) - -2010-11-07 - - Get ActiveHash::Associations to return a scope for has_many active record relationships (mocoso) - -2010-10-20 - - Allow find_by_* methods to accept an options hash, so rails associations don't blow up - -2010-10-07 - - Add conditions to ActiveHash#all (Ryan Garver) - - Add #cache_key to ActiveHash::Base (Tom Stuart) - - Add banged dynamic finder support to ActiveHash::Base (Tom Stuart) - -2010-09-16 - - Enum format now uses underscores instead of removing all characters - - Removed test dependency on acts_as_fu - -2010-05-26 - - Silence metaclass deprecation warnings in active support 2.3.8 - -2010-05-04 - - When calling ActiveFile::Base.reload do not actually perform the reload if nothing has been modified unless you call reload(true) to force (Michael Schubert) - -2010-04-25 - - When ActiveRecord model belongs_to an ActiveHash and the associated id is nil, returns nil instead of raising RecordNotFound (Jeremy Weiskotten) - - Merged Nakajima's "add" alias for "create" - gotta save those ASCII characters :) - -2010-03-01 - - Removed "extend"-related deprecations - they didn't play well with rails class loading - -2010-01-18 - - Added stub for #destroyed? method, since Rails associations now depend on it - -2009-12-19 - - Added ActiveHash::Enum (John Pignata) - - Deprecated include ActiveHash::Associations in favor of extend ActiveHash::Associations - - Fixed bug where you can't set nil to an association - - Calling #belongs_to now creates the underlying field if it's not already there (belongs_to :city will create the :city_id field) - -2009-12-10 - - Fixed a bug where belongs_to associations would raise an error instead of returning nil when the parent object didn't exist. - - Added #[] and #[]= accessors for more ActiveRecord-esque-ness. (Pat Nakajima & Dave Yeu) - -2009-12-01 - - Add marked_for_destruction? to be compatible with nested attributes (Brandon Keene) - - Added second parameter to respond_to? and cleaned up specs (Brian Takita) - - Find with an id that does not exist now raises a RecordNotFound exception to mimic ActiveRecord (Pat Nakajima) - -2009-10-22 - - added setters to ActiveHash::Base for all fields - - instantiating an ActiveHash object with a hash calls the setter methods on the object - - boolean default values now work - -2009-10-21 - - Removed auto-reloading of files based on mtime - maybe it will come back later - - Made ActiveFile::Base.all a bit more sane - -2009-10-13 - - added ActiveHash::Base.has_many, which works with ActiveRecord or ActiveHash classes (thanks to baldwindavid) - - added ActiveHash::Base.belongs_to, which works with ActiveRecord or ActiveHash classes (thanks to baldwindavid) - - added .delete_all method that clears the in-memory array - - added support for Hash-style yaml (think, Rails fixtures) - - added setter for parent object on belongs_to ( city = City.new; city.state = State.first; city.state_id == State.first.id ) - -2009-10-12 - - auto-assign fields after calling data= instead of after calling .all - - remove require 'rubygems', so folks with non-gem setups can still use AH - - added more specific activesupport dependency to ensure that metaclass is available - - AH no longer calls to_i on ids. If you pass in a string as an id, you'll get a string back - - Fancy finders, such as find_all_by_id_and_name, will compare the to_s values of the fields, so you can pass in strings - - You can now use ActiveHash models as the parents of polymorphic belongs_to associations - - save, save!, create and create! now add items to the in-memory collection, and naively adds autoincrementing id - - new_record? returns false if the record is part of the collection - - ActiveHash now works with Fixjour! - -2009-08-19 - - Added custom finders for multiple fields, such as .find_all_by_name_and_age - -2009-07-23 - - Added support for auto-defining methods based on hash keys in ActiveHash::Base - - Changed the :field and :fields API so that they don't overwrite existing methods (useful when ActiveHash auto-defines methods) - - Fixed a bug where ActiveFile incorrectly set the root_path to be the path in the gem directory, not the current working directory - -2009-07-24 - - ActiveFile no longer reloads files by default - - Added ActiveFile.reload_active_file= so you can cause ActiveFile to reload - - Setting data to nil correctly causes .all to return an empty array - - Added reload(force) method, so that you can force a reload from files in ActiveFile, useful for tests diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..86aa17a1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,353 @@ +# active_hash Changelog + +## Version [3.2.0] - 2022-07-14 + +- Add Ruby 3.2 to the CI matrix [#275](https://github.com/active-hash/active_hash/pull/275) @petergoldstein +- Handle default value of `false` [#274](https://github.com/active-hash/active_hash/pull/274) @ihollander +- Run CI only one time per commit [#273](https://github.com/active-hash/active_hash/pull/273) @flavorjones +- Rails 7 support [#272](https://github.com/active-hash/active_hash/pull/272) @flavorjones +- Avoid interfere with AR's belongs_to arguments. [#270](https://github.com/active-hash/active_hash/pull/270) @koyo-miyamura +- Fix broken #pluck method with 3+ attrs specified [#269](https://github.com/active-hash/active_hash/pull/269) @h6ah4i +- Fix relations for Rails 7 support, and not modifying conditions [#268](https://github.com/active-hash/active_hash/pull/268) @pfeiffer +- docs: Remove the string 'F' [#264](https://github.com/active-hash/active_hash/pull/264) @tbotaq +- Show example using regex in where query [#263](https://github.com/active-hash/active_hash/pull/263) @scottharvey +- Improve performance of exists? [#262](https://github.com/active-hash/active_hash/pull/262) @ise-tang +- Remove redundant ActiveRecord version check [#260](https://github.com/active-hash/active_hash/pull/260) @yujideveloper +- Fix deprecation warnings [#259](https://github.com/active-hash/active_hash/pull/259) @yujideveloper +- Fix rspec config when SKIP_ACTIVE_RECORD enabled [#258](https://github.com/active-hash/active_hash/pull/258) @yujideveloper +- isolate tests with temporary classes [#256](https://github.com/active-hash/active_hash/pull/256) @machisuke +- Avoid ActiveRecordExtensions affects AR's belongs_to method. [#255](https://github.com/active-hash/active_hash/pull/255) @machisuke +- add option to disable erb parsing [#202](https://github.com/active-hash/active_hash/pull/202) @reedlaw +- add collection singular ids for associations [#237](https://github.com/active-hash/active_hash/pull/237) @1160054 +- Fix the thread-safe spec for the updated cities fixture @adampal +- Add thread-safety to ActiveFile [#229](https://github.com/active-hash/active_hash/pull/229) @dmitriy-kiriyenko + +## Version [3.1.1] - 2022-07-14 + + - Make scopes chainable [#248](https://github.com/active-hash/active_hash/pull/248) @andreynering + - Set default key attributes [#251](https://github.com/active-hash/active_hash/pull/251/commits/68a0a121d110ac83f4bbf0024f027714fd24debf) @adampal + - Migrate from Travis to GitHub Actions for CI @kbrock + - Add primary_key support for has_one [#218](https://github.com/active-hash/active_hash/pull/218) @yujideveloper + - Return a chainable relation when using .not [#205](https://github.com/active-hash/active_hash/pull/205) @pfeiffer + - Correct fields with YAML aliases in array style [#226](https://github.com/active-hash/active_hash/pull/226) @stomk + - Add ActiveHash::Relation#size method for compatibily [#227](https://github.com/active-hash/active_hash/pull/227) @sluceno + - Implement ActiveRecord::RecordNotFound interface [#207](https://github.com/active-hash/active_hash/pull/207) @ChrisBr + - Fix find_by_id with filter chain [#210](https://github.com/active-hash/active_hash/pull/210) @ChrisBr + - Suppress Ruby 2.7 kwargs warnings [#206](https://github.com/active-hash/active_hash/pull/206) @yhirano55 + - Call reload if @records is not defined [#208](https://github.com/active-hash/active_hash/pull/208) @jonmagic + - Switch to rspec3 (and update the Gemfile) [#209](https://github.com/active-hash/active_hash/pull/209) @djberg96 + - Implement filter by RegEx [#211](https://github.com/active-hash/active_hash/pull/211) @ChrisBr + - Supports .pick method [#195](https://github.com/active-hash/active_hash/pull/195/files) @yhirano55 + - Lots of other small performance improvements, documentation and testing. Thanks to everyone who contributed! + +## Version [3.1.0] - 2020-01-15 + + - Add ActiveHash::Base.order method inspired by ActiveRecord [#177](https://github.com/active-hash/active_hash/pull/177) + - Add #to_ary to ActiveHash::Relation [#182](https://github.com/active-hash/active_hash/pull/182) + - Allow #find to behave like Enumerable#find if id is nil and a block is given [#183](https://github.com/active-hash/active_hash/pull/183) + - Delegate :sample to `records` [#189](https://github.com/active-hash/active_hash/pull/189) + +## Version [3.0.0] - 2019-09-28 + + - Make #where chainable [#178](https://github.com/active-hash/active_hash/pull/178) + +## Version [2.3.0] - 2019-09-28 + + - Add ::scope method (inspired by ActiveRecord) [#173](https://github.com/active-hash/active_hash/pull/173) + - Let `.find(nil)` raise ActiveHash::RecordNotFound (inspired by ActiveRecord) [#174](https://github.com/active-hash/active_hash/pull/174) + - `where` clause now works with range argument [#175](https://github.com/active-hash/active_hash/pull/175) + +## Version [2.2.1] - 2019-03-06 + + - Allow empty YAML [#171](https://github.com/active-hash/active_hash/pull/171) Thanks, @ppworks + +## Version [2.2.0] - 2018-11-22 + + - Support pluck method [#164](https://github.com/active-hash/active_hash/pull/164) Thanks, @ihatov08 + - Support where.not method [#167](https://github.com/active-hash/active_hash/pull/167) Thanks, @DialBird + +## Version [2.1.0] - 2018-04-05 + + - Allow to use ERB (embedded ruby) in yml files [#160](https://github.com/active-hash/active_hash/pull/160) Thanks, @UgoMare + - Add `ActiveHash::Base.polymorphic_name` [#162](https://github.com/active-hash/active_hash/pull/162) + - Fix to be able to use enum accessor constant with same name as top-level constant[#161](https://github.com/active-hash/active_hash/pull/161) Thanks, @yujideveloper + +## Version [2.0.0] - 2018-02-27 + + - Drop old Ruby and Rails support [#157](https://github.com/active-hash/active_hash/pull/157) + - Don't generate instance accessors for class attributes [#136](https://github.com/active-hash/active_hash/pull/136) Thanks, @rainhead + +## Version [1.5.3] - 2017-06-14 + + - Support symbol values in where and find_by [#156](https://github.com/active-hash/active_hash/pull/156) Thanks, @south37 + +## Version [1.5.2] - 2017-06-14 + + - Fix find_by when passed an invalid id [#152](https://github.com/active-hash/active_hash/pull/152) Thanks, @davidstosik + +## Version [1.5.1] - 2017-04-20 + + - Fix a bug on `.where` [#147](https://github.com/active-hash/active_hash/pull/147) + +## Version [1.5.0] - 2017-03-24 + + - add support for `.find_by!`(@syguer) + +## Version [1.4.1] - 2015-09-13 + + - fix bug where `#attributes` didn't contain default values [#107](https://github.com/active-hash/active_hash/pull/107) + - add support for `.find_by` and `#_read_attribute`. Thanks, @andrewfader + +## Version [1.4.0] - 2014-09-03 + + - support Rails 4.2 @agraves, @al2o3cr + +## Version [1.3.0] - 2014-02-18 + + - fix bug where including ActiveHash associations would make `belongs_to :imageable, polymorphic: true` blow up + - fixed several bugs that prevented active hash from being used without active record / active model + - add support for splitting up data sources into multiple files @rheaton + - add support for storing data in json files @rheaton + +## Version [1.2.3] - 2013-11-29 + + - fix bug where active hash would call `.all` on models when setting has_many @grosser + +## Version [1.2.2] - 2013-11-05 + + - fix bug in gemspec that made it impossible to use w/ Rails 4 + +## Version [1.2.1] - 2013-10-24 + + - fixed nasty bug in belongs_to that would prevent users from passing procs @freebird0221 + - fixed bug where passing in a separate class name to belongs_to_active_hash would raise an exception @mauriciopasquier + +## Version [1.2.0] - 2013-10-01 + + - belongs_to is back! + - added support for primary key options for belongs_to @tomtaylor + +## Version [1.0.2] - 2013-09-09 + + - `where(nil)` returns all results, like ActiveRecord @kugaevsky + +## Version [1.0.1] - 2013-07-15 + + - Travis CI for ActiveHash + Ruby 2, 1.8.7, Rubinius and JRuby support @mattheworiordan + - no longer need to call .all before executing `find_by_*` or `where` methods @mattheworiordan + +## Version [1.0.0] - 2013-06-24 + + - save is a no-op on existing records, instead of raising an error (issue #63) + +## Version [0.10.0] - 2013-06-24 + + - added ActiveYaml::Aliases module so you can DRY up your repetitive yaml @brett-richardson + +## Version [0.9.14] - 2013-05-23 + + - enum_accessor can now take multiple field names when generating the constant + - temporarily disabled rails edge specs since there's an appraisal issue with minitest + +## Version [0.9.13] 2013-01-22 + - Fix find_by_id and find method returning nil unless .all called in ActiveYaml @mattheworiordan + +## Version [0.9.12] 2012-07-25 + - Make find_by_id lookups faster by indexing records by id @desmondmonster + +## Version [0.9.11] 2012-07-16 + - Validate IDs are unique by caching them in a set @desmondmonster + +## Version [0.9.10] 2012-04-14 + - Support for has_one associations @kbrock + +## Version [0.9.9] 2012-04-05 + + - Allow gems like simple_form to read metadata about belongs_to associations that point to active hash objects @kbrock + - Move specs to appraisal @flavorjones + +## Version [0.9.8] - 2012-01-18 + + - Make ActiveHash.find with array raise an exception when record cannot be found @mocoso + +## Version [0.9.7] - 2011-09-18 + + - Fixing the setting of a `belongs_to_active_hash` association by association (not id). + +## Version [0.9.6] - 2011-08-31 + - added a module which adds a .belongs_to_active_hash method to ActiveRecord, since it was broken for Rails 3.1 @felixclack + +## Version [0.9.5] - 2011-06-07 + - fixed bug where .find would not work if you defined your ids as strings + +## Version [0.9.4] - 2011-06-05 + - fixed deprecation warnings for class_inheritable_accessor @scudco + - added basic compatibility with the `where` method from Arel @rgarver + +## Version [0.9.3] - 2011-04-19 + - better dependency management and compatibility with ActiveSupport 2.x @vandrijevik + +## Version [0.9.2] - 2011-01-22 + - improved method_missing errors for dynamic finders + - prevent users from trying to overwrite :attributes [#33](https://github.com/active-hash/active_hash/issues/33) + +## Version [0.9.1] 2010-12-08 + - ruby 1.9.2 compatibility + +## Version [0.9.0] 2010-12-06 + - added dependency on ActiveModel + - add persisted? method to ActiveHash::Base + - ActiveHash::Base#save takes \*args to be compatible with ActiveModel + - ActiveHash::Base#to_param returns nil if the object hasn't been saved + +## Version [0.8.7] 2010-11-09 + - Use Ruby's definition of "word character" (numbers, underscores) when forming ActiveHash::Enum constants @tstuart + +## Version [0.8.6] 2010-11-07 + - Get ActiveHash::Associations to return a scope for has_many active record relationships @mocoso + +## Version [0.8.5] 2010-10-20 + - Allow find_by_* methods to accept an options hash, so rails associations don't blow up + +## Version [0.8.4] 2010-10-07 + - Add conditions to ActiveHash#all (Ryan Garver) + - Add #cache_key to ActiveHash::Base (Tom Stuart) + - Add banged dynamic finder support to ActiveHash::Base (Tom Stuart) + +## Version [0.8.3] 2010-09-16 + - Enum format now uses underscores instead of removing all characters + - Removed test dependency on acts_as_fu + +## Version [0.8.2] 2010-05-26 + - Silence metaclass deprecation warnings in active support 2.3.8 + +## Version [0.8.1] 2010-05-04 + - When calling ActiveFile::Base.reload do not actually perform the reload if nothing has been modified unless you call reload(true) to force (Michael Schubert) + +## Version [0.8.0] 2010-04-25 + - When ActiveRecord model belongs_to an ActiveHash and the associated id is nil, returns nil instead of raising RecordNotFound (Jeremy Weiskotten) + - Merged Nakajima's "add" alias for "create" - gotta save those ASCII characters :) + +## Version [0.7.9] 2010-03-01 + - Removed "extend"-related deprecations - they didn't play well with rails class loading + +## Version [0.7.8] 2010-01-18 + - Added stub for #destroyed? method, since Rails associations now depend on it + +## Version [0.7.7] 2009-12-19 + - Deprecated include ActiveHash::Associations in favor of extend ActiveHash::Associations + +## Version [0.7.6] 2009-12-19 + - Added ActiveHash::Enum (John Pignata) + - Fixed bug where you can't set nil to an association + - Calling #belongs_to now creates the underlying field if it's not already there (belongs_to :city will create the :city_id field) + +## Version [0.7.5] 2009-12-10 + - Fixed a bug where belongs_to associations would raise an error instead of returning nil when the parent object didn't exist. + - Added #[] and #[]= accessors for more ActiveRecord-esque-ness. (Pat Nakajima & Dave Yeu) + +## Version [0.7.4] 2009-12-01 + - Add marked_for_destruction? to be compatible with nested attributes (Brandon Keene) + - Added second parameter to respond_to? and cleaned up specs (Brian Takita) + - Find with an id that does not exist now raises a RecordNotFound exception to mimic ActiveRecord (Pat Nakajima) + +## Version [0.7.3] 2009-10-22 + - added setters to ActiveHash::Base for all fields + - instantiating an ActiveHash object with a hash calls the setter methods on the object + - boolean default values now work + +## Version [0.7.2] 2009-10-21 + - Removed auto-reloading of files based on mtime - maybe it will come back later + - Made ActiveFile::Base.all a bit more sane + +## Version 0.7.1 2009-10-13 + - added ActiveHash::Base.has_many, which works with ActiveRecord or ActiveHash classes @baldwindavid + - added ActiveHash::Base.belongs_to, which works with ActiveRecord or ActiveHash classes @baldwindavid + - added .delete_all method that clears the in-memory array + - added support for Hash-style yaml (think, Rails fixtures) + - added setter for parent object on belongs_to ( `city = City.new; city.state = State.first; city.state_id == State.first.id` ) + +## Version [0.7.0] 2009-10-12 + - auto-assign fields after calling data= instead of after calling .all + - remove require 'rubygems', so folks with non-gem setups can still use AH + - added more specific activesupport dependency to ensure that metaclass is available + - AH no longer calls to_i on ids. If you pass in a string as an id, you'll get a string back + - Fancy finders, such as find_all_by_id_and_name, will compare the to_s values of the fields, so you can pass in strings + - You can now use ActiveHash models as the parents of polymorphic belongs_to associations + - save, save!, create and create! now add items to the in-memory collection, and naively adds autoincrementing id + - new_record? returns false if the record is part of the collection + - ActiveHash now works with Fixjour! + +## Version [0.6.1] 2009-08-19 + - Added custom finders for multiple fields, such as .find_all_by_name_and_age + +## Version 0.5.0 2009-07-23 + - Added support for auto-defining methods based on hash keys in ActiveHash::Base + - Changed the :field and :fields API so that they don't overwrite existing methods (useful when ActiveHash auto-defines methods) + - Fixed a bug where ActiveFile incorrectly set the root_path to be the path in the gem directory, not the current working directory + +## Version 0.4.0 2009-07-24 + - ActiveFile no longer reloads files by default + - Added ActiveFile.reload_active_file= so you can cause ActiveFile to reload + - Setting data to nil correctly causes .all to return an empty array + - Added reload(force) method, so that you can force a reload from files in ActiveFile, useful for tests + +[HEAD]: https://github.com/active-hash/active_hash/compare/v4.3.0...HEAD +[4.3.0]: https://github.com/active-hash/active_hash/compare/v3.2.0...v4.3.0 +[4.2.0]: https://github.com/active-hash/active_hash/compare/v3.1.1...v4.2.0 +[3.1.1]: https://github.com/active-hash/active_hash/compare/v3.1.0...v3.1.1 +[3.1.0]: https://github.com/active-hash/active_hash/compare/v3.0.0...v3.1.0 +[3.0.0]: https://github.com/active-hash/active_hash/compare/v2.3.0...v3.0.0 +[2.3.0]: https://github.com/active-hash/active_hash/compare/v2.2.1...v2.3.0 +[2.2.1]: https://github.com/active-hash/active_hash/compare/v2.2.0...v2.2.1 +[2.2.0]: https://github.com/active-hash/active_hash/compare/v2.1.0...v2.2.0 +[2.1.0]: https://github.com/active-hash/active_hash/compare/v2.0.0...v2.1.0 +[2.0.0]: https://github.com/active-hash/active_hash/compare/v1.5.3...v2.0.0 +[1.5.3]: https://github.com/active-hash/active_hash/compare/v1.5.2...v1.5.3 +[1.5.2]: https://github.com/active-hash/active_hash/compare/v1.5.1...v1.5.2 +[1.5.1]: https://github.com/active-hash/active_hash/compare/v1.5.0...v1.5.1 +[1.5.0]: https://github.com/active-hash/active_hash/compare/v1.4.1...v1.5.0 +[1.4.1]: https://github.com/active-hash/active_hash/compare/v1.4.0...v1.4.1 +[1.4.0]: https://github.com/active-hash/active_hash/compare/v1.3.0...v1.4.0 +[1.3.0]: https://github.com/active-hash/active_hash/compare/v1.2.3...v1.3.0 +[1.2.3]: https://github.com/active-hash/active_hash/compare/v1.2.2...v1.2.3 +[1.2.2]: https://github.com/active-hash/active_hash/compare/v1.2.1...v1.2.2 +[1.2.1]: https://github.com/active-hash/active_hash/compare/v1.2.0...v1.2.1 +[1.2.0]: https://github.com/active-hash/active_hash/compare/v1.0.2...v1.2.0 +[1.0.2]: https://github.com/active-hash/active_hash/compare/v1.0.1...v1.0.2 +[1.0.1]: https://github.com/active-hash/active_hash/compare/v1.0.0...v1.0.1 +[1.0.0]: https://github.com/active-hash/active_hash/compare/v0.10.0...v1.0.0 +[0.10.0]: https://github.com/active-hash/active_hash/compare/v0.9.14...v0.10.0 +[0.9.14]: https://github.com/active-hash/active_hash/compare/v0.9.13...v0.9.14 +[0.9.13]: https://github.com/active-hash/active_hash/compare/v0.9.12...v0.9.13 +[0.9.12]: https://github.com/active-hash/active_hash/compare/v0.9.11...v0.9.12 +[0.9.11]: https://github.com/active-hash/active_hash/compare/v0.9.10...v0.9.11 +[0.9.10]: https://github.com/active-hash/active_hash/compare/v0.9.9...v0.9.10 +[0.9.9]: https://github.com/active-hash/active_hash/compare/v0.9.8...v0.9.9 +[0.9.8]: https://github.com/active-hash/active_hash/compare/v0.9.7...v0.9.8 +[0.9.7]: https://github.com/active-hash/active_hash/compare/v0.9.6...v0.9.7 +[0.9.6]: https://github.com/active-hash/active_hash/compare/v0.9.5...v0.9.6 +[0.9.5]: https://github.com/active-hash/active_hash/compare/v0.9.4...v0.9.5 +[0.9.4]: https://github.com/active-hash/active_hash/compare/v0.9.3...v0.9.4 +[0.9.3]: https://github.com/active-hash/active_hash/compare/v0.9.2...v0.9.3 +[0.9.2]: https://github.com/active-hash/active_hash/compare/v0.9.1...v0.9.2 +[0.9.1]: https://github.com/active-hash/active_hash/compare/v0.9.0...v0.9.1 +[0.9.0]: https://github.com/active-hash/active_hash/compare/v0.8.7...v0.9.0 +[0.8.7]: https://github.com/active-hash/active_hash/compare/v0.8.6...v0.8.7 +[0.8.6]: https://github.com/active-hash/active_hash/compare/v0.8.5...v0.8.6 +[0.8.5]: https://github.com/active-hash/active_hash/compare/v0.8.4...v0.8.5 +[0.8.4]: https://github.com/active-hash/active_hash/compare/v0.8.3...v0.8.4 +[0.8.3]: https://github.com/active-hash/active_hash/compare/v0.8.2...v0.8.3 +[0.8.2]: https://github.com/active-hash/active_hash/compare/v0.8.1...v0.8.2 +[0.8.1]: https://github.com/active-hash/active_hash/compare/v0.8.0...v0.8.1 +[0.8.0]: https://github.com/active-hash/active_hash/compare/v0.7.9...v0.8.0 +[0.7.9]: https://github.com/active-hash/active_hash/compare/v0.7.8...v0.7.9 +[0.7.8]: https://github.com/active-hash/active_hash/compare/v0.7.7...v0.7.8 +[0.7.7]: https://github.com/active-hash/active_hash/compare/v0.7.6...v0.7.7 +[0.7.6]: https://github.com/active-hash/active_hash/compare/v0.7.5...v0.7.6 +[0.7.5]: https://github.com/active-hash/active_hash/compare/v0.7.4...v0.7.5 +[0.7.4]: https://github.com/active-hash/active_hash/compare/v0.7.3...v0.7.4 +[0.7.3]: https://github.com/active-hash/active_hash/compare/v0.7.2...v0.7.3 +[0.7.2]: https://github.com/active-hash/active_hash/compare/v0.7.0...v0.7.2 +[0.7.0]: https://github.com/active-hash/active_hash/compare/v0.6.1...v0.7.0 +[0.6.1]: https://github.com/active-hash/active_hash/compare/v0.6.0...v0.6.1 diff --git a/active_hash.gemspec b/active_hash.gemspec index c5477356..4be600bf 100644 --- a/active_hash.gemspec +++ b/active_hash.gemspec @@ -36,8 +36,15 @@ Gem::Specification.new do |s| s.homepage = %q{http://github.com/active-hash/active_hash} s.license = "MIT" + s.metadata = { + "homepage_uri" => s.homepage, + "changelog_uri" => "https://github.com/active-hash/active_hash/blob/master/CHANGELOG.md", + "source_code_uri" => s.homepage, + "bug_tracker_uri" => "https://github.com/active-hash/active_hash/issues", + } + s.files = [ - "CHANGELOG", + "CHANGELOG.md", "LICENSE", "README.md", "active_hash.gemspec", diff --git a/lib/active_hash/version.rb b/lib/active_hash/version.rb index ca957c09..bba238e9 100644 --- a/lib/active_hash/version.rb +++ b/lib/active_hash/version.rb @@ -1,5 +1,5 @@ module ActiveHash module Gem - VERSION = "3.1.1" + VERSION = "3.2.0" end end