Skip to content

Latest commit

 

History

History
374 lines (247 loc) · 15.7 KB

CHANGELOG.md

File metadata and controls

374 lines (247 loc) · 15.7 KB

2.8.1 (March 25, 2024)

bug fix

  • Support enumerization of the same attribute in child classes. (by @nashby)

2.8.0 (March 17, 2024)

bug fix

  • Fix a bug where the value of a false boolean attribute was not properly serialized because it was treated as ruby's false in condition and that condition was never met. (by @nashby)
  • Make Enumerize::Value#as_json return a string, not an instance of Enumerize::Value (by @nashby)
  • Fix attribute type casting when Rails master is used (by @nashby)
  • Fix bug with ActiveRecord#reload when enumerized attribute is an instance of ActiveRecord::Store and it's nil. (by @4ndypanda)
  • Fix attribute type casting when ActiveRecord#dup is used (by @mihyaeru21)

enchancements

  • Support only Ruby 3+ and Rails 6.1+. (by @nashby)
  • Allows the original options specified in enumerize to be retrieved from Enumerize::Attribute. (by @okoshi-f)

2.7.0 (July 7, 2023)

bug fix

  • Warn about already defined predicate methods only when we generate predicate methods with predicate: true (by @nashby)
  • Define Type#cast instead of deserialize to fix serialization issue. (by @nashby)
  • Fix Undefined method 'enumerize' for RSpec::ExampleGroups (by @softwaregravy)

enchancements

  • Add support for procs as i18n_scope option value. (by @nashby)

    enumerize :color, in: %w[green blue], i18n_scope: proc { |value| "color" }

2.6.1 (March 17, 2023)

bug fix

  • Require rspec/matchers in enumerize matcher to fix rspec extensions load issue.
  • Fix Ruby 2.7 issue with initializer without keyword args.

2.6.0 (March 7, 2023)

enhancements

  • Add Enumerize::Attribute#value?. This new method prevents the following breakage when autocorrecting with Performance/InefficientHashSearch cop. (by @koic)
  • Allow usage of kwargs with inheritance in Ruby 3.x. Support only Ruby 2.7+. (by @mortik)

2.5.0 (December 24, 2021)

enhancements

  • Add support for Rails 7.0.0.alpha. (by @f-mer)
  • Add support for negative shallow scopes. (by @nashby)

2.4.0 (December 12, 2020)

enhancements

  • Show warning when enumerized value name conflicts with existing object's methods. (by @aki77)
  • Add RSpec support for shallow scopes. (by @nashby)
  • Drop support for Ruby older than 2.5. Support only Ruby 2.5+. (by @nashby)
  • Drop support for Rails 4. Support only Rails 5.2+. (by @nashby)
  • Add support for Rails 6.1 (by @y-yagi)

bug fix

  • Fix exception when using predicate methods on enumerized value transformed into invalid value. (by @guigs)
  • Fix issue with RSpec#with_predicates matcher when custom values are used as attribute. (by @nashby)

2.3.1 (May 2, 2019)

enhancements

  • Add ability to skip validations by passing :skip_validations option. (by @chumakoff)
  • Add option scope: shallow to extend scopes based on enumerized attribute values (by @moofkit)

bug fix

  • Fix issue with ActiveRecord and Mongoid reload method when enumberized attributes weren't synced from DB. (by @nashby and @FunkyloverOne)
  • Fix issue with ActiveRecord reload method not working for ActiveRecord::Store attributes due to 1b776c. (by @rickcsong)

2.2.2 (March 6, 2018)

bug fix

  • Support non-ActiveModel objects in SimpleForm/Formtastic integration. (by @nashby)

2.2.1 (February 15, 2018)

bug fix

  • Fix issue with SimpleForm/Formtastic forms without object. (by @nashby)

2.2.0 (February 13, 2018)

enhancements

  • Add integration with active_interaction. (by @runephilosof)
  • Allow using plugin :enumerize with Sequel. (by @jnylen)
  • Support ActiveModel::Attributes from Rails 5.2. (by @troter)
  • Support Sequel 5.2.0. (by @troter)

bug fix

  • Fix RailsAdmin integration when enumerated field used on edit form and enumerated value wasn't set. (by @nashby)
  • Fallback to a raw passed value instead of nil if AR type can't find value in the attribute. (by @nashby)

2.1.2 (May 18, 2017)

bug fix

  • Support YAML serialization for the custom AR type. (by @lest)

2.1.1 (May 1, 2017)

enhancements

  • Run tests with multiple DBs (SQLite and PostgreSQL). (by tkawa)

bug fix

  • Support deserialize and Rails 4.2 methods in the custom AR::Type class. (by @lest)
  • Support dumping custom AR type to JSON. (by @lest)

2.1.0 (March 31, 2017)

enhancements

  • Support Active Record types serialization. (by @lest)

2.0.1 (October 18, 2016)

bug fix

  • Support enumerized attributes in #update_all on relation objects. (by @lest)

2.0.0 (August 10, 2016)

enhancements

  • Drop support for Ruby older than 2.2. Support only Ruby 2.2+. (by @nashby)

  • Drop support for Rails 4.0 and 4.1. Support only Rails 4.2 and newer. (by @lest)

  • Support Rails 5.0. (by @nashby and @lest)

  • Allow to pass enumerize values to ActiveRecord#update_all (by @DmitryTsepelev and @ianwhite)

    User.update_all(status: :blocked)

bug fix

  • Rescue MissingAttributeError on attribute writing. (by @embs)
  • Fix presence validation for multiple attributes when the list contains a blank string. (by @smoriwaki)
  • Replace deprecated alias_method_chain with Module#prepend. (by @koenpunt and @akm)
  • Make it compatible with globalize gem. (by @falm)
  • Prevent method getter from being called when no default_value is being set. (by @arjan0307)

1.1.1 (January 25, 2016)

bug fix

  • Fix exception when using predicate methods and enumerized values have dash in it. (by @nashby)

1.1.0 (November 15, 2015)

enhancements

bug fix

1.0.0 (August 2, 2015)

enhancements

  • Add texts method for getting an array of text values of the enumerized field with multiple type. (by @huynhquancam)
  • Drop Rails 3.2 support. (by @nashby)

bug fix

  • Fix conflicts when Active Record and Mongoid are used at the same time. (by @matsu911)

0.11.0 (March 29, 2015)

enhancements

  • Add ability to set default value for enumerized field with multiple type. (by @nashby)
  • Support Rails 4.2. (by @lest)

bug fix

  • Use Mongoid's :in method for generated scopes, fix chained scopes. (by @nashby)
  • Use after_initialize callback to set default value in Mongoid documents. (by @nashby)

0.10.1 (March 4, 2015)

bug fix

  • Use method_missing instead of defining singleton class methods to allow Marshal serialization (by @lest)

0.10.0 (February 17, 2015)

enhancements

  • Add scopes support to mongoid documents (by @nashby)
  • Use underscore.humanize in #text to make use of Inflector acronyms (by @mintuhouse)
  • Raise an exception when :scope option is used together with :multiple option (by @maurogeorge)
  • Use alias_method_chain instead of overriding Class#inherited (by @yuroyoro)
  • Shortcut methods to retrieve enumerize values (by @CyborgMaster)
  • Extend equality operator to support comparing with symbols and custom values (e.g. integers) (by @CyborgMaster)

0.9.0 (December 11, 2014)

enhancements

  • Add :value_class option (by @lest)
  • Use 'defaults' scope in the localization file for the attributes that used across several models. This will help to avoid conflicting keys with model names and attribute names. Example:
  en:
    enumerize:
      defaults:
        sex:
          male: Male
          female: Female

You still can use the old solution without "default" scope:

  en:
    enumerize:
      sex:
        male: Male
        female: Female

(by @nashby)

bug fix

  • Store values for validation using string keys (by @nagyt234)
  • Store custom values for multiple attributes (by @lest)
  • Support validations after using AR#becomes (by @lest)
  • Do not try to set attribute for not selected attributes (by @dany1468)

0.8.0 (March 4, 2014)

enhancements

  • Integration with SimpleForm's input_field (by @nashby)
  • Support multiple attributes in Active Record #becomes method (by @lest)
  • Add ability to specify localization scope with i18n_scope option (by @dreamfall)

bug fix

  • Fix Rails Admin integration when custom values are used (by @brenes)
  • Fix RSpec integration using enumerize with Spring (by @winston)
  • Return proper RSpec failure message for enumerized attribute with default value (by @nashby)
  • Return proper RSpec description for enumerized attribute without default value (by @andreygerasimchuk)
  • Do not try to set default value for not selected attributes (by @nashby)
  • Fix uniqueness validation with Active Record (by @lest)
  • Fix loading of attributes with multiple: true in mongoid (by glebtv)
  • Serialize value as scalar type (by @ka8725)

0.7.0 (August 21, 2013)

enhancements

  • Give priority to model specific translation definition. See example here (by @labocho)
  • Allow lambda in default value (by @adie)
  • Add predicate methods to the multiple attributes (by @nashby)
  • Add RSpec matcher (by @nashby)
  • Add *_value method that returns actual value of the enumerized attribute (useful for attributes with custom values) (by @tkyowa)

bug fix

  • Make validation work when write_attribute is using for setting enumerized values (by @nashby)
  • Validates enumerized values when enumeration is included via module (by @nashby) and (by @lest)

0.6.1 (May 20, 2013)

bug fix

  • Don't raise error when enumerized attribute is already defined. (by @lest)

0.6.0 (May 16, 2013)

enhancements

bug fix

  • Return correct default value for enumerized attribute using default_scope with generated scope @nashby
  • Allow either key or value as valid (by aghull and @lest)
  • Use default enum value from db column (by @lest)

0.5.1 (December 10, 2012)

bug fix

  • Always return Enumerize::Set for multiple attributes (by @nashby)

0.5.0 (October 31, 2012)

The previous method of adding enumerize to a class was deprecated. Please use extend Enumerize instead of include Enumerize.

enhancements

  • SimpleForm support for multiple attributes. (by @nashby)
  • Formtastic support for multiple attributes. (by @nashby)
  • Array-like multiple attributes. (by @lest)

0.4.0 (September 6, 2012)

Legacy support was dropped. The following versions are supported:

  • Ruby 1.9.3+ (including JRuby and Rubinius)
  • Rails 3.2+
  • Formtastic 2.2+
  • SimpleForm 2+
  • Mongoid 3+

enhancements

  • Ability to define predicate methods on enumerized object. (by @lest)

0.3.0 (July 9, 2012)

enhancements

  • Accept a values hash to store an attribute using custom values (e.g. integers) (by @lest)

0.2.2 (May 22, 2012)

bug fix

  • Correctly assign default value to handle mass assignment in Active Record (by @lest)

0.2.1 (May 21, 2012)

bug fix

  • Call super in attribute accessors if available (by @lest)

0.2.0 (March 29, 2012)

enhancements

  • Ability to enumerize attributes in a module and then include it into classes (by @lest)
  • Add error to a model when attribute value is not included in allowed list (by @lest)

bug fix

0.1.1 (March 6, 2012)

bug fix

  • I18n regression: Multiple calls to value #text return different results (by @cgunther and @lest)

0.1.0 (March 5, 2012)

enhancements

  • Return humanized value if there are no translations (by @nashby)
  • Integration with SimpleForm (by @nashby)
  • Integration with Formtastic (by @lest)

0.0.4 (February 8, 2012)

bug fix

  • Make attribute accessors to work with ActiveRecord 3.1.x (by @lest)

0.0.3 (February 8, 2012)

enhancements