diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 736745c3cd8e098b3e61cebf81d2427cfc110dcf..8ddefddcfe645948f5415f4d591b5ea66c515808 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -6,12 +6,6 @@ *arthurnn* -* Add a properties API to allow custom types and type casting behavior - to be specified. Will enable many edge cases to be deprecated, and - allow for additional interesting features in the future. - - *Sean Griffin* - * Fix has_and_belongs_to_many public reflection. When defining a has_and_belongs_to_many, internally we convert that to two has_many. But as `reflections` is a public API, people expect to see the right macro. diff --git a/activerecord/lib/active_record/connection_adapters/type/binary.rb b/activerecord/lib/active_record/connection_adapters/type/binary.rb index 60afe44de142b0bfa52bf71d84fdceb13c063609..4b2d1a66e083432b94bc99c75031c274ce6e99cf 100644 --- a/activerecord/lib/active_record/connection_adapters/type/binary.rb +++ b/activerecord/lib/active_record/connection_adapters/type/binary.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Binary < Value + class Binary < Value # :nodoc: def type :binary end diff --git a/activerecord/lib/active_record/connection_adapters/type/boolean.rb b/activerecord/lib/active_record/connection_adapters/type/boolean.rb index 0d97379189d7cdbf7af36eb6cbadb2349a6700ff..2337bdd563f8e02a6563305ce58881baf712eaaa 100644 --- a/activerecord/lib/active_record/connection_adapters/type/boolean.rb +++ b/activerecord/lib/active_record/connection_adapters/type/boolean.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Boolean < Value + class Boolean < Value # :nodoc: def type :boolean end diff --git a/activerecord/lib/active_record/connection_adapters/type/date.rb b/activerecord/lib/active_record/connection_adapters/type/date.rb index e8becbe1f439cd0d22755695fb30f7caf1e78704..1e7205fd0bc0d591b3f92e3ca91107a8bc2da647 100644 --- a/activerecord/lib/active_record/connection_adapters/type/date.rb +++ b/activerecord/lib/active_record/connection_adapters/type/date.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Date < Value + class Date < Value # :nodoc: def type :date end diff --git a/activerecord/lib/active_record/connection_adapters/type/date_time.rb b/activerecord/lib/active_record/connection_adapters/type/date_time.rb index 64f5d053019284d23f5e9bc9a0c8e0f7ef26afae..c34f4c5a53a1c8f109ea19245bf9dddb2f33d467 100644 --- a/activerecord/lib/active_record/connection_adapters/type/date_time.rb +++ b/activerecord/lib/active_record/connection_adapters/type/date_time.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class DateTime < Value + class DateTime < Value # :nodoc: include TimeValue def type diff --git a/activerecord/lib/active_record/connection_adapters/type/decimal.rb b/activerecord/lib/active_record/connection_adapters/type/decimal.rb index e93906ba190222179f7e1f6084e19061bfd7d9ae..ac5af4b963700465990070956bbb3bbe89c27de5 100644 --- a/activerecord/lib/active_record/connection_adapters/type/decimal.rb +++ b/activerecord/lib/active_record/connection_adapters/type/decimal.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Decimal < Value + class Decimal < Value # :nodoc: include Numeric def type diff --git a/activerecord/lib/active_record/connection_adapters/type/float.rb b/activerecord/lib/active_record/connection_adapters/type/float.rb index f2427d2dfa1e057b8c120c3ebf401dfd8fa74bf4..28111e9d8e5160a22ce71d455d664f00289c9cd5 100644 --- a/activerecord/lib/active_record/connection_adapters/type/float.rb +++ b/activerecord/lib/active_record/connection_adapters/type/float.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Float < Value + class Float < Value # :nodoc: include Numeric def type diff --git a/activerecord/lib/active_record/connection_adapters/type/integer.rb b/activerecord/lib/active_record/connection_adapters/type/integer.rb index 596f4de2a882ee1d4852fea5ebb0da2e99ffce02..8e6a509b5b77d366f3fa92ce2998a818b2e35f65 100644 --- a/activerecord/lib/active_record/connection_adapters/type/integer.rb +++ b/activerecord/lib/active_record/connection_adapters/type/integer.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Integer < Value + class Integer < Value # :nodoc: include Numeric def type diff --git a/activerecord/lib/active_record/connection_adapters/type/string.rb b/activerecord/lib/active_record/connection_adapters/type/string.rb index 471f949e092d7309d88a5402d585d3d67f1d7c75..55f0e1ee1c916a9bbf96cb742b653fc07f110e9c 100644 --- a/activerecord/lib/active_record/connection_adapters/type/string.rb +++ b/activerecord/lib/active_record/connection_adapters/type/string.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class String < Value + class String < Value # :nodoc: def type :string end diff --git a/activerecord/lib/active_record/connection_adapters/type/text.rb b/activerecord/lib/active_record/connection_adapters/type/text.rb index 61095ebb38539cb5711bdd0740d7335d49c0c6b1..ee5842a3fcf25f26cf5e3750e79fff343d8d6e4c 100644 --- a/activerecord/lib/active_record/connection_adapters/type/text.rb +++ b/activerecord/lib/active_record/connection_adapters/type/text.rb @@ -3,7 +3,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Text < String + class Text < String # :nodoc: def type :text end diff --git a/activerecord/lib/active_record/connection_adapters/type/value.rb b/activerecord/lib/active_record/connection_adapters/type/value.rb index 60b443004c9e5062b12ec9cb64f02791a455170d..415ef0aee9250657f7de2b1940fb95f0887bf0dd 100644 --- a/activerecord/lib/active_record/connection_adapters/type/value.rb +++ b/activerecord/lib/active_record/connection_adapters/type/value.rb @@ -1,7 +1,7 @@ module ActiveRecord module ConnectionAdapters module Type - class Value + class Value # :nodoc: attr_reader :precision, :scale, :limit # Valid options are +precision+, +scale+, and +limit+. diff --git a/activerecord/lib/active_record/properties.rb b/activerecord/lib/active_record/properties.rb index 39c39ad9ffe6c753ad30630f91fd2e674aaf9950..a25c1cec5892c2eac7395a1c3a01cfd72568beac 100644 --- a/activerecord/lib/active_record/properties.rb +++ b/activerecord/lib/active_record/properties.rb @@ -1,5 +1,5 @@ module ActiveRecord - module Properties + module Properties # :nodoc: extend ActiveSupport::Concern Type = ConnectionAdapters::Type @@ -64,19 +64,7 @@ def property(name, cast_type) # Returns an array of column objects for the table associated with this class. def columns - @columns ||= add_user_provided_columns(connection.schema_cache.columns(table_name)).each do |column| - if Type::DecimalWithoutScale === column.cast_type - ActiveSupport::Deprecation.warn <<-MESSAGE.strip_heredoc - Decimal columns with 0 scale being automatically treated as integers - is deprecated, and will be removed in a future version of Rails. If - you'd like to keep this behavior, add - - property :#{column.name}, Type::Integer.new - - to your #{name} model. - MESSAGE - end - end + @columns ||= add_user_provided_columns(connection.schema_cache.columns(table_name)) end # Returns a hash of column objects for the table associated with this class.