aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Use `inspect` in `type_cast_for_schema` for date/time and decimal valuesRyuta Kamizono2016-12-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently dumping defaults on schema is inconsistent. Before: ```ruby create_table "defaults", force: :cascade do |t| t.string "string_with_default", default: "Hello!" t.date "date_with_default", default: '2014-06-05' t.datetime "datetime_with_default", default: '2014-06-05 07:17:04' t.time "time_with_default", default: '2000-01-01 07:17:04' t.decimal "decimal_with_default", default: 1234567890 end ``` After: ```ruby create_table "defaults", force: :cascade do |t| t.string "string_with_default", default: "Hello!" t.date "date_with_default", default: "2014-06-05" t.datetime "datetime_with_default", default: "2014-06-05 07:17:04" t.time "time_with_default", default: "2000-01-01 07:17:04" t.decimal "decimal_with_default", default: "1234567890" end ```
* | | | Match the behavior of bigdecimal after ↵Rafael Mendonça França2017-02-241-1/+5
| | | | | | | | | | | | | | | | https://github.com/ruby/bigdecimal/pull/55
* | | | Fix invalid string Decimal casting under ruby 2.4John Hawthorn2017-02-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ruby 2.4, BigDecimal(), as used by the Decimal cast, was changed so that it will raise ArgumentError when passed an invalid string, in order to be more consistent with Integer(), Float(), etc. The other numeric types use ex. to_i and to_f. Unfortunately, we can't simply change BigDecimal() to to_d. String#to_d raises errors like BigDecimal(), unlike all the other to_* methods (this should probably be filed as a ruby bug). Instead, this simulates the existing behaviour and the behaviour of the other to_* methods by finding a numeric string at the start of the passed in value, and parsing that using BigDecimal(). See also https://bugs.ruby-lang.org/issues/10286 https://github.com/ruby/bigdecimal/commit/3081a627cebdc1fc119425c7a9f009dbb6bec8e8
* | | | Preparing for 5.1.0.beta1 releaseRafael Mendonça França2017-02-231-1/+1
| | | |
* | | | Fix `define_attribute_method` with Symbol in ARPrem Sichanugrist2017-02-211-1/+1
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This issue is only appear when you try to call `define_attribute_method` and passing a symbol in Active Record. It does not appear in isolation in Active Model itself. Before this patch, when you run `User.define_attribute_method :foo`, you will get: NoMethodError: undefined method `unpack' for :foo:Symbol from activerecord/lib/active_record/attribute_methods/read.rb:28:in `define_method_attribute' from activerecord/lib/active_record/attribute_methods/primary_key.rb:61:in `define_method_attribute' from activemodel/lib/active_model/attribute_methods.rb:292:in `block in define_attribute_method' from activemodel/lib/active_model/attribute_methods.rb:285:in `each' from activemodel/lib/active_model/attribute_methods.rb:285:in `define_attribute_method' This patch contains both a fix in Active Model and a test in Active Record for this error.
* | | Remove `:doc:` for `NumericalityValidator` [ci skip]Ryuta Kamizono2017-02-171-5/+5
| | | | | | | | | | | | | | | | | | | | | The `:doc:` was added in cdb9d7f but `NumericalityValidator` is already `:nodoc:` class. `:doc:` is unneeded. https://github.com/rails/rails/blob/master/activemodel/lib/active_model/validations/numericality.rb#L3
* | | change ActiveModel::Validation to ActiveModel::Validations in commentsSen Zhang2017-02-1510-10/+10
| | |
* | | Indicate units of 'limit' in 'Integer' error message.Corey Farwell2017-02-151-1/+1
| | |
* | | Remove unused requireRyuta Kamizono2017-02-121-2/+0
| | | | | | | | | | | | | | | | | | These files are not using `strip_heredoc`. Closes #27976
* | | Remove deprecated behavior that halts callbacks when the return is falseRafael Mendonça França2017-02-072-2/+0
| | |
* | | Remove `ActiveModel::TestCase` from libyuuji.yaginuma2017-02-072-5/+0
| | | | | | | | | | | | | | | | | | `ActiveModel::TestCase` is used only for the test of Active Model. Also, it is a private API and can not be used in applications. Therefore, it is not necessary to include it in lib.
* | | Make BigDecimal casting consistent on different platformsKir Shatrov2017-01-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now it behaves differently on JRuby: ``` --- expected +++ actual @@ -1 +1 @@ -#<BigDecimal:5f3c866c,'0.333333333333333333',18(20)> +#<BigDecimal:16e0afab,'0.3333333333333333',16(20)> ``` My initial PR (https://github.com/rails/rails/pull/27324) offered to let the precision to be decided by the platform and change the test expection, but other contributors suggested that we should change the default precision in Rails to be consistent of all platforms. The value (18) comes from the max default precision that comes from casting Rational(1/3) to BigDecimal.
* | | Fix typoScott González2017-01-101-2/+2
| | |
* | | `self.` is not needed when calling its own instance methodAkira Matsuda2017-01-052-2/+2
| | | | | | | | | | | | Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
* | | Revert "Merge pull request #27528 from kamipo/extract_casted_booleans"Kasper Timm Hansen2017-01-011-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As pointed out by @matthewd this change makes ImmutableString aware of MysqlString's existence whereas previously MysqlString was only overriding public API. cc @kamipo This reverts commit e632c2fa4cb60072a778ce95c952a0fa95e5b074, reversing changes made to 334a7dcf107cd3ff1697163d331d289d6d65dcd7.
* | | Extract `casted_true`/`casted_false` for `Type::ImmutableString`Ryuta Kamizono2017-01-011-4/+12
| | | | | | | | | | | | | | | | | | The only difference between `Type::ImmutableString` and its subclasses is the representation of the casted booleans. Prefer extracting `casted_true`/`casted_false` and override these by subclasses.
* | | [ci skip] Update Active Model copyright years.Kasper Timm Hansen2016-12-311-1/+1
| | | | | | | | | | | | | | | | | | Missed in 37d956f. Fixes #27524. [ MSathieu & Kasper Timm Hansen ]
* | | Privatize unneededly protected methods in Active ModelAkira Matsuda2016-12-246-27/+23
| | |
* | | No need to :nodoc: private methodsAkira Matsuda2016-12-242-6/+6
| | |
* | | Describe what we are protectingAkira Matsuda2016-12-233-0/+8
| | |
* | | Change ActiveModel::Type::Helpers to :nodoc: [ci skip]MSP-Greg2016-12-164-8/+8
|/ /
* | Make ActiveModel::Errors backward compatible with 4.2Rafael Mendonça França2016-12-081-2/+9
| | | | | | | | | | | | | | If a Error object was serialized in the database as YAML in the Rails 4.2 version, if we load in the Rails 5.0 version it will miss the @details instance variable so methods like #clear and #add will start to fail.
* | Merge pull request #26696 from iainbeeston/only-ruby-types-in-activemodelSean Griffin2016-12-084-41/+0
|\ \ | | | | | | | | | Moved database-specific ActiveModel types into ActiveRecord
| * | Moved database-specific ActiveModel types into ActiveRecordIain Beeston2016-10-144-41/+0
| |/ | | | | | | ie. DecimalWithoutScale, Text and UnsignedInteger
* | Merge pull request #27185 from kamipo/fix_apply_seconds_precisionSean Griffin2016-12-081-1/+1
|\ \ | | | | | | Fix `apply_seconds_precision` not to be affected by `mathn`
| * | Fix `apply_seconds_precision` not to be affected by `mathn`Ryuta Kamizono2016-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `apply_seconds_precision` cannnot round usec when after `require 'mathn'`. ``` irb(main):001:0> 1234 / 1000 * 1000 => 1000 irb(main):002:0> 1234 - 1234 % 1000 => 1000 irb(main):003:0> require 'mathn' => true irb(main):004:0> 1234 / 1000 * 1000 => 1234 irb(main):005:0> 1234 - 1234 % 1000 => 1000 ```
* | | Add Action View to Active Model API documentationGabi Stefanini2016-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In Rails 4.1, Action View was extracted from Action Pack, but this change was not reflected in the API documentation of ActiveModel::Model. This commits makes it explicit in the documentation that Active Model also interacts with Action View as well as Action Pack. [ci skip]
* | | Fixes API wording to match API conventionsGabi Stefanini2016-12-061-2/+2
|/ / | | | | | | | | | | | | | | | | In ActiveModel::Model API documentation, referrences to Rails components were tagged with fixed-width font and named as if they were modules.This fixes the inconsistency to match API documentation conventions. [ci skip]
* | Allow indifferent access in ActiveModel::ErrorsKenichi Kamiya2016-11-221-2/+5
| | | | | | | | | | | | `#[]` has already applied indifferent access, but some methods does not. `#include?`, `#has_key?`, `#key?`, `#delete` and `#full_messages_for`.
* | Merge pull request #26905 from bogdanvlviv/docsAndrew White2016-11-133-4/+4
|\ \ | | | | | | Add missing `+` around a some literals.
| * | Add missing `+` around a some literals.bogdanvlviv2016-10-273-4/+4
| | | | | | | | | | | | | | | | | | Mainly around `nil` [ci skip]
* | | Add more rubocop rules about whitespacesRafael Mendonça França2016-10-299-10/+10
| | |
* | | removes requires already present in active_support/railsXavier Noria2016-10-271-1/+0
| | |
* | | let Regexp#match? be globally availableXavier Noria2016-10-272-2/+0
|/ / | | | | | | | | | | Regexp#match? should be considered to be part of the Ruby core library. We are emulating it for < 2.4, but not having to require the extension is part of the illusion of the emulation.
* | Missing require extract_optionsAkira Matsuda2016-10-251-0/+2
| |
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2016-10-201-1/+1
|\ \ | |/ |/|
| * Corrected comments referring to ActiveModel::AttributesIain Beeston2016-10-031-1/+1
| | | | | | | | Should be ActiveRecord::Attributes (ActiveModel::Attributes does not exist)
* | Removed deprecated :tokenizer in the length validatorRafael Mendonça França2016-10-101-34/+1
| |
* | Removed deprecated methods in ActiveModel::ErrorsRafael Mendonça França2016-10-101-87/+0
| | | | | | | | `#get`, `#set`, `[]=`, `add_on_empty` and `add_on_blank`.
* | Merge pull request #24571 from raimo/patch-1Sean Griffin2016-10-041-0/+9
|\ \ | |/ |/| Print the proper ::Float::INFINITY value when used as a default value
| * Print the proper ::Float::INFINITY value when used as a default valueRaimo Tuisku2016-05-231-0/+9
| | | | | | | | Addresses https://github.com/rails/rails/issues/22396
* | Do not leak the Errors default proc when calling to_hash or as_jsonJean Boussier2016-09-271-1/+1
| |
* | [ci skip] Fix bad examples in rdocAndrey Molchanov2016-09-171-2/+11
| |
* | Update ActiveModel::Dirty Doc [ci skip]Louis-Michel Couture2016-09-161-8/+8
| |
* | Update ActiveModel::Dirty Doc [ci skip]Louis-Michel Couture2016-09-151-1/+1
| | | | | | Fix potentially misleading example.
* | Fix broken comments indentation caused by rubocop auto-correct [ci skip]Ryuta Kamizono2016-09-143-6/+6
| | | | | | | | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But comments was still kept absolute position. This commit aligns comments with method definitions for consistency.
* | Fix Remaining Case-In-Assignment Statement FormattingAlex Kitchens2016-09-061-12/+13
| | | | | | | | | | | | | | | | | | Recently, the Rails team made an effort to keep the source code consistent, using Ruboco (bb1ecdcc677bf6e68e0252505509c089619b5b90 and below). Some of the case statements were missed. This changes the case statements' formatting and is consistent with changes in 810dff7c9fa9b2a38eb1560ce0378d760529ee6b and db63406cb007ab3756d2a96d2e0b5d4e777f8231.
* | apply case-in-assignment patternXavier Noria2016-09-022-11/+13
| |
* | RuboCop is 100% green :tada:Xavier Noria2016-09-022-2/+2
| |
* | validate_each in NumericalityValidator is never called in this case.Guillermo Iguaran2016-08-281-2/+0
| | | | | | | | | | NumericalityValidator#validate_each is never called when allow_nil is true and the value is nil because it is already skipped in EachValidator#validate.