José Valim
47a5fd4c4b
Allow :if, :unless, :on, :allow_nil and :allow_blank as shared options in validates.
2010-01-07 19:23:59 +01:00
jamie
0a79eb7889
Add validates method as shortcut to setup validators for a given set of attributes:
...
class Person < ActiveRecord::Base
include MyValidators
validates :name, :presence => true, :uniqueness => true, :length => { :maximum => 100 }
validates :email, :presence => true, :email => true
end
[#3058 status:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com >
2010-01-07 19:23:59 +01:00
José Valim
a25ef06956
Allow to specify default attributes names translation in I18n yml files.
...
For example, you could easily specify :created_at and :updated_at translations as:
en:
attributes:
created_at: "Created at"
updated_at: "Updated at"
This configuration is built on ActiveModel, so it means those translations are
shared between different ORMs as well (but always as a fallback).
2010-01-07 15:31:50 +01:00
José Valim
190ce3ab37
Errors messages are now moved from :activerecord.errors to simply :errors on I18n yml files.
2010-01-07 15:31:49 +01:00
Joshua Peek
640d9e7e32
Autoload AMo test case
2010-01-04 16:29:07 -06:00
Joshua Peek
2601a16ede
Autoload AS test case
2010-01-04 16:22:46 -06:00
David Heinemeier Hansson
5e94d3e3ea
Merge
2010-01-03 22:27:28 -08:00
David Heinemeier Hansson
532b11690f
Change the ActiveModel::Base.include_root_in_json default to true for Rails 3 [DHH]
2010-01-03 22:02:10 -05:00
José Valim
4796be33a4
Add missing tests to Validators.
2010-01-03 17:14:50 +01:00
José Valim
653fa4c10c
Add naming to AMo::Lint
2010-01-02 22:27:02 +01:00
José Valim
7cc0a4cfa1
Use activerecord.errors.format as in Rails 2.3.5.
2010-01-02 22:27:02 +01:00
José Valim
5fdd0e80a4
Be sure to convert namespaced names to we have 'Parrots name' instead of 'Parrots.name' in error messages.
2010-01-02 22:27:02 +01:00
Jeremy Kemper
4f590b67b7
Ruby 1.9.2: explicit coercion check no longer needed; bug fixed upstream
2010-01-01 11:02:09 -08:00
Carl Lerche
ae7ada1fde
Some railties cleanup:
...
* Rename <framework>/rails.rb -> <framework>/railtie.rb
* Rails::Plugin -> Rails::Railtie
* Rails::Plugin::Vendored -> Rails::Plugin
2009-12-31 13:12:52 -08:00
Carl Lerche
e749424dfa
Rename rails.rb -> rails/all.rb and rails/core.rb -> rails.rb
2009-12-31 13:12:52 -08:00
Carl Lerche
a23f4b6aee
Add a /rails.rb for each framework for consistency
2009-12-31 11:57:59 -08:00
José Valim
6d390671f6
Move ActiveRecord callbacks implementation to ActiveModel and make use of it.
...
Signed-off-by: Yehuda Katz <wycats@Yehuda-Katz.local >
2009-12-28 16:19:23 -08:00
Jeremy Kemper
632df063a3
Merge commit 'josevalim/validations'
2009-12-28 11:13:35 -08:00
Jeremy Kemper
292363c75f
Use i18n
2009-12-27 15:17:44 -08:00
José Valim
74098e4cb6
No need to use ValidationsRepairHelper hack on ActiveModel anymore, Model.reset_callbacks(:validate) is enough. However, tests in ActiveRecord are still coupled, so moved ValidationsRepairHelper back there.
2009-12-23 13:30:58 +01:00
José Valim
e31077c9aa
Small clean up in Naming and TTranslation tests.
2009-12-23 12:28:02 +01:00
José Valim
44cd9e0e71
ActiveRecord::Validations are now built on top of Validator as well.
2009-12-23 12:14:00 +01:00
José Valim
279067639f
validates_each uses a BlockValidator.
2009-12-23 01:38:15 +01:00
José Valim
977a5c43b1
Added check_validity! to EachValidator and refactor existing ones.
2009-12-23 01:08:27 +01:00
Joshua Peek
f737c2d69b
All AMo modules are safe to defer
2009-12-22 17:39:41 -06:00
José Valim
f1085f4128
Move validations in ActiveModel to validators, however all validatity checks are still in the class method.
2009-12-23 00:36:51 +01:00
Joshua Peek
ace20bd25e
Flip deferrable autoload convention
2009-12-22 17:27:37 -06:00
José Valim
2476c5312d
Validator is simply sent to validate method. However, the API needs to change, so validate accepts a record.
2009-12-22 23:12:21 +01:00
Joshua Peek
7ee5843c3c
Fully expand relative rails framework paths and make sure we aren't
...
adding any to the load path more than once.
2009-12-16 11:56:51 -06:00
Jeremy Kemper
63e435955e
Ruby 1.9.2: explicitly raise NoMethodError for explicit coercion attempts
2009-12-06 18:22:09 -08:00
Carlhuda
c1304098cc
Reorganize autoloads:
...
* A new module (ActiveSupport::Autoload) is provide that extends
autoloading with new behavior.
* All autoloads in modules that have extended ActiveSupport::Autoload
will be eagerly required in threadsafe environments
* Autoloads can optionally leave off the path if the path is the same
as full_constant_name.underscore
* It is possible to specify that a group of autoloads live under an
additional path. For instance, all of ActionDispatch's middlewares
are ActionDispatch::MiddlewareName, but they live under
"action_dispatch/middlewares/middleware_name"
* It is possible to specify that a group of autoloads are all found
at the same path. For instance, a number of exceptions might all
be declared there.
* One consequence of this is that testing-related constants are not
autoloaded. To get the testing helpers for a given component,
require "component_name/test_case". For instance, "action_controller/test_case".
* test_help.rb, which is automatically required by a Rails application's
test helper, requires the test_case.rb for all active components, so
this change will not be disruptive in existing or new applications.
2009-12-02 20:01:08 -08:00
Jeremy Kemper
3fd2624be4
Uses Hash#reverse_merge
2009-11-13 10:31:05 -08:00
José Valim
9fbb2c571b
Fix error_messages_for when instance variable names are given.
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-10-21 11:18:36 -05:00
José Valim
e714b499cc
Move validator, human_name and human_attribute_name to ActiveModel, remove deprecated error messages and add i18n_scope and lookup_ancestors.
...
Signed-off-by: Carl Lerche <carllerche@mac.com >
2009-10-20 17:52:32 -07:00
Joshua Peek
21e7b84621
Callbacks, DeprecatedCallbacks = NewCallbacks, Callbacks
2009-10-12 22:15:43 -05:00
Joshua Peek
ff56f3d5e1
Rewrite ActiveModel::Lint as a simple TU mixin
2009-10-07 09:24:51 -05:00
Sam Pohlenz
4df96338ed
Fixed behavior of attribute_methods_generated? [ #3220 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-10-07 09:07:39 -05:00
Sam Pohlenz
f8e91bda9c
Don't share attribute matchers between classes [ #3216 state:resolved]
...
Allows separate models that include ActiveModel::AttributeMethods to
use different sets of attribute matchers.
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-10-07 09:07:39 -05:00
Jeremy Kemper
38e056ee2a
Use ActiveModel::TestCase base class
2009-09-24 22:56:30 -07:00
lakshan
e2d0b0ee61
fixed ActiveModel::Lint typos [ #3236 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-09-21 09:49:43 -05:00
Brian Donovan
f183288050
Fix typo.
...
Signed-off-by: Yehuda Katz <wycats@gmail.com >
2009-09-17 18:30:28 -07:00
Jeremy Kemper
8682d76cc9
Revert "Allow frameworks to be required by their gem name"
...
This has just been confusing. Better to educate than band-aid.
This reverts commit 18a24274ec .
Originally from http://dev.rubyonrails.org/ticket/8845 [drnic]
2009-09-12 02:41:01 -07:00
Akira Matsuda
0990a13500
Ensure validation errors to be ordered in declared order
...
[#2301 state:committed milestone:2.3.5]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net >
2009-09-11 18:52:22 -07:00
José Valim
2ea1d684d9
Refactor new callbacks and AR implementation.
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-09-08 10:26:39 -05:00
José Valim
4f37b97033
Changed ActiveRecord to use new callbacks and speed up observers by only notifying events that are actually being consumed.
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-09-08 10:26:39 -05:00
Joshua Peek
6dc9ad80e6
Fix warnings in AMo
2009-09-05 19:10:21 -05:00
Joshua Peek
723a47bfb3
Kill AMo observing wrap_with_notifications since ARes was only using it
2009-09-02 11:44:36 -05:00
Joshua Peek
66d713fc8f
License, version, and gemspec for ActiveModel. Ship it!
2009-08-31 19:09:16 -05:00
Kane
cf9f361699
added proc and symbol support to validates_numericality_of [ #3049 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-08-31 13:35:14 -05:00
Josh Sharpe
80989437dc
I added this feature so that a Map of changed fields could be retrieved
...
after a model had been saved. This is useful in the after_save callback
when you need to know what fields changed. At present there is no way
to do this other than have code in the before_save callback that takes
a copy of the changes Map, which I thought was a bit messy.
Example.
person = Person.find_by_name('bob')
person.name = 'robert'
person.changes # => {'name' => ['bob, 'robert']}
person.save
person.changes # => {}
person.previous_changes # => {'name' => ['bob, 'robert']}
person.reload
person.previous_changes # => {}
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-08-31 12:50:27 -05:00