Skip to content

Latest commit

 

History

History
391 lines (287 loc) · 22.7 KB

CHANGELOG.md

File metadata and controls

391 lines (287 loc) · 22.7 KB

active_hash Changelog

Version [3.3.1] - 2024-05-03

Fixed

  • Fix hash_many :through associations which specify a scope. #306 @sontixyou

Version 3.3.0 - 2024-04-30

Added

  • Ruby 3.3 support #298 @m-nakamura145
  • Support has_many :through associations #296 @flavorjones
  • Rails 7.1 support #291 @y-yagi

Fixed

  • Rails 7.1: fix sqlite3 issue #303 @flavorjones
  • Rails 7.1.3: add missing has_query_constraints? #300 @flavorjones
  • Array#pluck supports methods #299 @iberianpig
  • Prefer safe_constantize over constantize #297 @flavorjones
  • Treat nil and blank? as different values #295 @kbrock
  • Fix #where for string keys #292 @usernam3

Version 3.2.1 - 2023-08-31

Added

  • Improve pp output for ActiveHash::Relation. #288 @flavorjones

Fixed

  • Fix relation matching when attribute name collides with a method. #281 @flavorjones
  • Fix association reflection in applications that don't use ActiveHash::Associations. #286 @iberianpig
  • Fix ActiveHash::Relation#method_missing and #respond_to_missing? without scopes. #278 @julianrubisch

Version 3.2.0 - 2023-05-06

  • Add Ruby 3.2 to the CI matrix #275 @petergoldstein
  • Handle default value of false #274 @ihollander
  • Run CI only one time per commit #273 @flavorjones
  • Rails 7 support #272 @flavorjones
  • Avoid interfere with AR's belongs_to arguments. #270 @koyo-miyamura
  • Fix broken #pluck method with 3+ attrs specified #269 @h6ah4i
  • Fix relations for Rails 7 support, and not modifying conditions #268 @pfeiffer
  • docs: Remove the string 'F' #264 @tbotaq
  • Show example using regex in where query #263 @scottharvey
  • Improve performance of exists? #262 @ise-tang
  • Remove redundant ActiveRecord version check #260 @yujideveloper
  • Fix deprecation warnings #259 @yujideveloper
  • Fix rspec config when SKIP_ACTIVE_RECORD enabled #258 @yujideveloper
  • isolate tests with temporary classes #256 @machisuke
  • Avoid ActiveRecordExtensions affects AR's belongs_to method. #255 @machisuke
  • add option to disable erb parsing #202 @reedlaw
  • add collection singular ids for associations #237 @1160054
  • Fix the thread-safe spec for the updated cities fixture @adampal
  • Add thread-safety to ActiveFile #229 @dmitriy-kiriyenko

Version 3.1.1 - 2022-07-14

  • Make scopes chainable #248 @andreynering
  • Set default key attributes #251 @adampal
  • Migrate from Travis to GitHub Actions for CI @kbrock
  • Add primary_key support for has_one #218 @yujideveloper
  • Return a chainable relation when using .not #205 @pfeiffer
  • Correct fields with YAML aliases in array style #226 @stomk
  • Add ActiveHash::Relation#size method for compatibily #227 @sluceno
  • Implement ActiveRecord::RecordNotFound interface #207 @ChrisBr
  • Fix find_by_id with filter chain #210 @ChrisBr
  • Suppress Ruby 2.7 kwargs warnings #206 @yhirano55
  • Call reload if @records is not defined #208 @jonmagic
  • Switch to rspec3 (and update the Gemfile) #209 @djberg96
  • Implement filter by RegEx #211 @ChrisBr
  • Supports .pick method #195 @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
  • Add #to_ary to ActiveHash::Relation #182
  • Allow #find to behave like Enumerable#find if id is nil and a block is given #183
  • Delegate :sample to records #189

Version 3.0.0 - 2019-09-28

  • Make #where chainable #178

Version 2.3.0 - 2019-09-28

  • Add ::scope method (inspired by ActiveRecord) #173
  • Let .find(nil) raise ActiveHash::RecordNotFound (inspired by ActiveRecord) #174
  • where clause now works with range argument #175

Version 2.2.1 - 2019-03-06

  • Allow empty YAML #171 Thanks, @ppworks

Version 2.2.0 - 2018-11-22

  • Support pluck method #164 Thanks, @ihatov08
  • Support where.not method #167 Thanks, @DialBird

Version 2.1.0 - 2018-04-05

  • Allow to use ERB (embedded ruby) in yml files #160 Thanks, @UgoMare
  • Add ActiveHash::Base.polymorphic_name #162
  • Fix to be able to use enum accessor constant with same name as top-level constant#161 Thanks, @yujideveloper

Version 2.0.0 - 2018-02-27

  • Drop old Ruby and Rails support #157
  • Don't generate instance accessors for class attributes #136 Thanks, @rainhead

Version 1.5.3 - 2017-06-14

  • Support symbol values in where and find_by #156 Thanks, @south37

Version 1.5.2 - 2017-06-14

  • Fix find_by when passed an invalid id #152 Thanks, @davidstosik

Version 1.5.1 - 2017-04-20

  • Fix a bug on .where #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
  • 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

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