- 28 11月, 2017 1 次提交
-
-
由 Rafael Mendonça França 提交于
-
- 14 11月, 2017 1 次提交
-
-
由 Alessandro Rodi 提交于
fix rubocop issues
-
- 11 11月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Attribute modules (`Attribute`, `Attributes`, `AttributeSet`) uses `Type`, but referencing `Type` before the modules still fail. ``` % ./bin/test -w test/cases/attribute_test.rb -n test_with_value_from_user_validates_the_value Run options: -n test_with_value_from_user_validates_the_value --seed 31876 E Error: ActiveModel::AttributeTest#test_with_value_from_user_validates_the_value: NameError: uninitialized constant ActiveModel::AttributeTest::Type /Users/kamipo/src/github.com/rails/rails/activemodel/test/cases/attribute_test.rb:233:in `block in <class:AttributeTest>' bin/test test/cases/attribute_test.rb:232 Finished in 0.002985s, 335.0479 runs/s, 335.0479 assertions/s. 1 runs, 1 assertions, 0 failures, 1 errors, 0 skips ``` Probably we need more autoloading at least `Type`.
-
- 10 11月, 2017 6 次提交
-
-
由 yuuji.yaginuma 提交于
Currently, executing the test with only `attribute_test.rb` results in an error. ``` ./bin/test -w test/cases/attribute_test.rb Run options: --seed 41205 # Running: ....E Error: ActiveModel::AttributeTest#test_attributes_do_not_equal_attributes_with_different_types: NameError: uninitialized constant ActiveModel::AttributeTest::Type rails/activemodel/test/cases/attribute_test.rb:159:in `block in <class:AttributeTest>' bin/test test/cases/attribute_test.rb:158 ``` Added a missing require to fix this.
-
由 yuuji.yaginuma 提交于
-
由 yuuji.yaginuma 提交于
Currently, executing the test with only `attribute_set_test.rb` results in an error. ``` ./bin/test -w test/cases/attribute_set_test.rb Run options: --seed 33470 # Running: E Error: ActiveModel::AttributeSetTest#test_#map_returns_a_new_attribute_set_with_the_changes_applied: NameError: uninitialized constant ActiveModel::AttributeSetTest::AttributeSet Did you mean? ActiveModel::Attributes ActiveModel::Attribute activemodel/test/cases/attribute_set_test.rb:235:in `block in <class:AttributeSetTest>' bin/test test/cases/attribute_set_test.rb:234 ``` Added a missing require to fix this. Also, I suspect that this is the cause of failures in CI. Ref: https://travis-ci.org/rails/rails/jobs/299994708
-
由 yuuji.yaginuma 提交于
-
由 Lisa Ugray 提交于
Use these to back the attributes API. Stop automatically including ActiveModel::Dirty in ActiveModel::Attributes, and make it optional.
- 07 11月, 2017 1 次提交
-
-
由 bogdanvlviv 提交于
- Test condition that is defined by array of conditions - Test condition that is defined by combining :if and :unless - Test local condition that is defined by :if - Test local condition that is defined by :unless See http://edgeguides.rubyonrails.org/active_record_validations.html#combining-validation-conditions
-
- 06 11月, 2017 1 次提交
-
-
由 bogdanvlviv 提交于
-
- 26 10月, 2017 1 次提交
-
-
由 Matt Rohrer 提交于
This brings the Length validator in line with the Numericality validator, which currently supports Proc & Symbol arguments
-
- 24 10月, 2017 1 次提交
-
-
由 Rafael Mendonça França 提交于
-
- 21 10月, 2017 1 次提交
-
-
由 Akira Matsuda 提交于
This basically reverts ee5cfc01
-
- 19 10月, 2017 1 次提交
-
-
由 Lisa Ugray 提交于
This is the first PR of a WIP to bring the attributes API to ActiveModel. It is not yet ready for public API. The `attributes_dirty_test.rb` file was created based on `dirty_test.rb`, and the simplifications in the diff do much to motivate this change. ``` diff activemodel/test/cases/dirty_test.rb activemodel/test/cases/attributes_dirty_test.rb 3a4 > require "active_model/attributes" 5c6 < class DirtyTest < ActiveModel::TestCase --- > class AttributesDirtyTest < ActiveModel::TestCase 7,41c8,12 < include ActiveModel::Dirty < define_attribute_methods :name, :color, :size < < def initialize < @name = nil < @color = nil < @size = nil < end < < def name < @name < end < < def name=(val) < name_will_change! < @name = val < end < < def color < @color < end < < def color=(val) < color_will_change! unless val == @color < @color = val < end < < def size < @size < end < < def size=(val) < attribute_will_change!(:size) unless val == @size < @size = val < end --- > include ActiveModel::Model > include ActiveModel::Attributes > attribute :name, :string > attribute :color, :string > attribute :size, :integer ```
-
- 01 9月, 2017 1 次提交
-
-
由 Matthew Draper 提交于
Don't use remove_method or remove_possible_method just before a new definition: at best the purpose is unclear, and at worst it creates a race condition. Instead, prefer redefine_method when practical, and silence_redefinition_of_method otherwise.
-
- 27 8月, 2017 1 次提交
-
-
由 Yoshiyuki Hirano 提交于
-
- 22 8月, 2017 1 次提交
-
-
由 Yoshiyuki Hirano 提交于
-
- 18 8月, 2017 1 次提交
-
-
由 Viktar Basharymau 提交于
Besides making the code easier to read, this commit also makes it faster: * We don't eval `@base.class.respond_to?(:i18n_scope)` twice * We only eval `@base.class.i18n_scope` once * We don't call `flatten!` because it's not needed anymore * We don't call `compact` because all elements are Symbols
-
- 08 8月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 01 8月, 2017 1 次提交
-
-
由 Rafael Mendonça França 提交于
[ci skip] Closes #30012
-
- 17 7月, 2017 2 次提交
-
-
由 Sean Griffin 提交于
Between 4.2 and 5.0 the behavior of how multiparameter attributes interact with `_before_type_cast` changed. In 4.2 it returns the post-type-cast value. After 5.0, it returns the hash that gets sent to the type. This behavior is correct, but will cause an issue if you then tried to render that value in an input like `text_field` or `hidden_field`. In this case, we want those fields to use the post-type-cast form, instead of the `_before_type_cast` (the main reason it uses `_before_type_cast` at all is to avoid losing data when casting a non-numeric string to integer). I've opted to modify `came_from_user?` rather than introduce a new method for this as I want to avoid complicating that contract further, and technically the multiparameter hash didn't come from assignment, it was constructed internally by AR. Close #27888.
-
由 Kir Shatrov 提交于
-
- 14 7月, 2017 2 次提交
-
-
由 Ryuta Kamizono 提交于
Because `generated_attribute_methods` is an internal API.
-
由 Ryuta Kamizono 提交于
-
- 08 7月, 2017 1 次提交
-
-
由 Jahfer Husain 提交于
ActiveModel::Errors#merge! allows ActiveModel::Errors to append errors from a separate ActiveModel::Errors instance onto their own. Example: person = Person.new person.errors.add(:name, :blank) errors = ActiveModel::Errors.new(Person.new) errors.add(:name, :invalid) person.errors.merge!(errors) puts person.errors.messages # => { name: ["can't be blank", "is invalid"] }
-
- 06 7月, 2017 1 次提交
-
-
由 Lisa Ugray 提交于
`ActiveModel::Type::DateTime#serialize` should return a `Time` object so that finding by a datetime column works correctly.
-
- 02 7月, 2017 1 次提交
-
-
由 Matthew Draper 提交于
This reverts commit 3420a145, reversing changes made to afb66a5a.
-
- 01 7月, 2017 2 次提交
-
-
由 Akira Matsuda 提交于
-
由 Kir Shatrov 提交于
-
- 28 6月, 2017 2 次提交
-
-
由 Ryuta Kamizono 提交于
[ci skip]
-
由 Grey Baker 提交于
-
- 21 6月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Fixes #29512.
-
- 20 6月, 2017 1 次提交
-
-
由 Pat Allan 提交于
Includes two external changes because they're referenced within the ActiveModel test suite.
-
- 15 6月, 2017 1 次提交
-
-
由 shotat 提交于
-
- 14 6月, 2017 3 次提交
-
-
由 bogdanvlviv 提交于
-
由 shotat 提交于
-
由 shotat 提交于
-
- 31 5月, 2017 1 次提交
-
-
由 Viktor Fonic 提交于
The output of two string attributes is displayed differently in the docs. Standardize the output by always showing it as a comment.
-
- 30 5月, 2017 1 次提交
-
-
由 David Heinemeier Hansson 提交于
* Allow a default value to be declared for class_attribute * Convert to using class_attribute default rather than explicit setter * Removed instance_accessor option by mistake * False is a valid default value * Documentation
-