Commit Graph

220 Commits

Author SHA1 Message Date
Adam Meehan
87b0beef5a moved ignore_restriction_errors and error_value_formats into Validator class 2008-12-05 20:24:06 +11:00
Adam Meehan
6cd6cd9dc0 made restriction_value instance method as it relies on validator instance attribute type
removed old type_cast_method class method
2008-12-05 18:45:28 +11:00
Adam Meehan
0c5cc1a536 more refactoring of validator
fixed bug when Date is restriction value for a datetime attribute so its cast to time in default timezone
2008-12-05 18:25:44 +11:00
Adam Meehan
bf999170d7 fix timezone issue for to_dummy_time as per normal Rails which uses AR default_timezone 2008-12-05 16:34:28 +11:00
Adam Meehan
dbfd9231b5 moved including of modules into module files 2008-12-03 21:44:39 +11:00
Adam Meehan
3da24f0f33 a few changes to prepare for better version support 2008-12-03 21:22:19 +11:00
Adam Meehan
6f4306973b updated some comments 2008-12-03 21:20:53 +11:00
Adam Meehan
71f2a43424 added i18n support for error messages in Rails 2.2 2008-12-03 18:20:34 +11:00
Adam Meehan
c386a9cdcf removed some naff comments 2008-12-02 21:40:41 +11:00
Adam Meehan
1596ffd2cb namespaced matcher 2008-12-02 21:07:08 +11:00
Adam Meehan
d847d3b95a removed a debug hint in matcher 2008-12-02 20:42:00 +11:00
Adam Meehan
3ac65b507f renamed methods which have been moved out of AR and so dont need to be fully qualified 2008-12-02 20:34:02 +11:00
Adam Meehan
d71f581e10 refactored error message handling and specs 2008-12-02 19:36:03 +11:00
Adam Meehan
aa42fb76b6 get the model to add errors to record returned from validation instead of validator 2008-11-30 08:34:17 +11:00
Adam Meehan
b0647d456e refactored validations in validation methods for model and validator class 2008-11-30 07:40:11 +11:00
Adam Meehan
412ff22dd9 namespaced ActiveRecord and ActionView specifc modules and specs with a mind to making the plugin framework agnostic in the future 2008-11-29 18:32:32 +11:00
Adam Meehan
705e787775 small cleanup and correction of docs 2008-11-23 17:42:34 +11:00
Adam Meehan
a54d562a69 refactored version checks for method aliasing 2008-11-23 17:41:58 +11:00
Adam Meehan
889bdc3ae3 allow uppercase meridian to be valid 2008-11-13 10:26:16 +11:00
Adam Meehan
604a792e25 Rails 2.2 compatibility fixes with more version check hackery (yuck, will fix later) 2008-10-28 22:05:25 +11:00
Adam Meehan
ced61929da fixed dirty attributes when old value incorrectly read and added more examples for dirty attributes 2008-10-28 19:54:52 +11:00
Adam Meehan
8f950d5ac6 refactored attribute write method definitions in single definition and added write_date_time_attribute method to unify value writing 2008-09-24 15:58:08 +10:00
Adam Meehan
f23d2a0c2d fixed non-timezone write method not updating changed attributes hash 2008-08-25 14:30:36 +10:00
Adam Meehan
0ef34c7d28 parse_date_time method returns for date column to return Date object when assigned string as per normal Rails
parse_date_time method returns same object when assigned Date or Time object
2008-08-22 15:12:38 +10:00
Adam Meehan
b9f11a1f7b fixed bug with attribute cache not clearing on write for date and time columns 2008-08-22 14:06:08 +10:00
Adam Meehan
d61249d6f5 fixed instance_tag value method when attribute value is nil and improved specs 2008-08-14 11:44:18 +10:00
Adam Meehan
9a76d06309 parse using timeliness_restriction_value method on matcher option values to allow all possible value types 2008-08-07 12:24:17 +10:00
Adam Meehan
097e2c58ba refactored matcher a little and cleaned up a little 2008-08-03 14:29:54 +10:00
Adam Meehan
dff45bc6ec refactored restriction validation conversion_method case statement into restriction_type_cast_method method 2008-08-03 14:28:02 +10:00
Adam Meehan
a666c35ccd moved restriction value evaluation into own method with recursive calls for Symbol and Proc in case they return string 2008-08-03 12:53:59 +10:00
Adam Meehan
8cad1b880e remove setting attribute to nil in validations when invalid to preserve before_type_cast value 2008-07-30 12:22:06 +10:00
Adam Meehan
ef51d8c3d6 refacrtored option tests into test_option_method 2008-07-26 08:31:36 +10:00
Adam Meehan
29d61320e8 prettied up failure messages by formatting values 2008-07-26 08:12:25 +10:00
Adam Meehan
7fd251dddf added rest of specs for matcher 2008-07-26 07:49:26 +10:00
Adam Meehan
79460dc39b added specs for matcher and fixed up bugs 2008-07-26 00:16:17 +10:00
Adam Meehan
ed165d3f9d minor doc changes 2008-07-25 22:30:24 +10:00
Adam Meehan
555748fac9 minor doc tweak 2008-07-25 21:52:18 +10:00
Adam Meehan
32621ceebe added restriction value error message formats as global accessor for customisation
added each invalid type to error messages rather than shortcut way
2008-07-25 19:21:30 +10:00
Adam Meehan
5567f920f7 standardising test values 2008-07-24 18:55:20 +10:00
Adam Meehan
69ac9e678d using date and time string convert methods from validates_date_time plugin which handles different array lengths 2008-07-23 20:39:25 +10:00
Adam Meehan
776e3008d2 added extra check to see if time zone attributes in enabled 2008-07-23 12:43:42 +10:00
Adam Meehan
5c03d3d645 added define_write_method with simple parse and cace for dates, times and datetimes when time zone conversion is off and default for Rails 2.0 2008-07-23 12:42:03 +10:00
Adam Meehan
7500781887 added compile_set method to get expressions and combine date and datetime expressions to allow a date string to parse when type is datetime
made internal methods private
2008-07-23 12:39:20 +10:00
Adam Meehan
85ac2bfc69 changed method to check type and compose string for specific type to properly validate
refactored specs
2008-07-23 12:35:42 +10:00
Adam Meehan
2be6c639d6 changed 2008 to 2000 in effort to standard test date values 2008-07-22 18:57:45 +10:00
Adam Meehan
5885290304 added back Rails 2.1 check for time zone conversion attribute in define_attributes_methods and check for Rails 2.0 to return true if Time class column 2008-07-22 12:59:37 +10:00
Adam Meehan
28b44b4ca6 some docs tweaks and spec value changes 2008-07-22 11:47:17 +10:00
Adam Meehan
727f3dc8e3 added make_time method to do time object creation with correct timezone handling for Rails 2.1 and 2.0 2008-07-22 11:45:33 +10:00
Adam Meehan
a674089c00 return Date object for date type timeliness_date_time_parse method 2008-07-22 10:13:52 +10:00
Adam Meehan
800b187d08 added Date class define write method convert with parser
removed strict_time_type_cast method and use parse method directly
2008-07-22 10:11:27 +10:00
Adam Meehan
89f12b3a25 renamed extract method to parse and updated specs 2008-07-22 08:34:14 +10:00
Adam Meehan
3c9ad4a5ee added microseconds adjustment method and added proc_args 2008-07-21 16:50:08 +10:00
Adam Meehan
5e08a10fb0 renamed calls to timeliness_date_time_parse to parse_date_time which will correctly an overrided method 2008-07-21 13:48:25 +10:00
Adam Meehan
539f823b8b removed usless whitespace check in non-strict regexp match 2008-07-21 13:47:19 +10:00
Adam Meehan
4e8007bc65 added ignore_datetime_restriction_errors class option and docs
bit more for chronic parser
2008-07-21 13:02:21 +10:00
Adam Meehan
1836e4f6ca removed setting of time parts to 0 for date type in parse as any time parts should be valid as well
format proc now returns time array with nil values as 0
2008-07-21 10:31:06 +10:00
Adam Meehan
7a16d35e31 tweaked readme
changed mixed validation spec to datetime value out of Time range
2008-07-20 10:53:09 +10:00
Adam Meehan
9cf994564e fixed fallback for out of range dates which Rails does not handle automatically
aliased timeliness_date_time_parse to parse_date_time for nicer interface
2008-07-20 09:06:39 +10:00
Adam Meehan
70ba75a4ae added switching to euro date formats instead of US 2008-07-20 08:38:34 +10:00
Adam Meehan
5f55fad076 added :before option to add_formats to insert above existing format 2008-07-20 07:45:22 +10:00
Adam Meehan
05abd4e984 minor line shifts 2008-07-19 19:49:15 +10:00
Adam Meehan
5983622ac8 moved extact_date_time_values method in to Formats and added specs
changed Formats to a class
2008-07-19 19:47:03 +10:00
Adam Meehan
8ab82411ca added format add and remove methods
fixed slashes and 'd' token matching
specs for time and date format validation
2008-07-19 17:17:53 +10:00
Adam Meehan
ec46a3bd35 added specs for formats and more docs
renamed valid_time_formats etc to time_formats
2008-07-18 16:29:26 +10:00
Adam Meehan
e18d0ee9f4 moved tokens and proc arg map into class arrays 2008-07-18 11:27:32 +10:00
Adam Meehan
c9a3075c35 rewrote format regexp hash into time format to regexp generator 2008-07-18 08:05:21 +10:00
Adam Meehan
33c298163e moved format proc helper methods into formats module so they work 2008-07-17 16:25:54 +10:00
Adam Meehan
c37c3e82fa moved formats to own module 2008-07-17 15:08:33 +10:00
Adam Meehan
69ed88a086 moved formats to root module and retrieve from there in validations
added benchmarks for alternates
2008-07-17 15:00:18 +10:00
Adam Meehan
0dcc255901 changed parsing to use hash of regexp with optional processor blocks. Allows easy addition and removal of preffered formats 2008-07-17 14:29:59 +10:00
Adam Meehan
7cf8f2cbbc refactor parse to just a little simpler and a little more docs and cleanup 2008-07-17 06:43:03 +10:00
Adam Meehan
710ed92721 fixed matcher messages and refactored 2008-07-11 17:41:50 +10:00
Adam Meehan
1a0a35836f fixed dummy time and added spec 2008-07-11 17:41:07 +10:00
Adam Meehan
20ed2b1633 ignore time part for dates in validation 2008-07-11 17:23:37 +10:00
Adam Meehan
eafce02a73 renamed error message key 2008-07-11 16:37:37 +10:00
Adam Meehan
89d6d4ac14 doc tweak 2008-07-11 16:37:02 +10:00
Adam Meehan
899d420b59 renamed base to multiparameter attributes 2008-07-11 16:35:52 +10:00
Adam Meehan
c283d2eed9 rename base to multiparameter attributes 2008-07-11 16:31:19 +10:00
Adam Meehan
bac867cbbb added core extension files for adding to_dummy_time to Date, Time and DateTime classes 2008-07-08 10:44:01 +10:00
Adam Meehan
ef68b3d0f9 added type to parse method for dummy time check mainly
added default datetime type to call to parse from strict type cast
2008-07-08 10:42:02 +10:00
Adam Meehan
3c934efd0d added requires for core_ext files 2008-07-08 10:40:57 +10:00
Adam Meehan
8ac04e8610 doc rewording 2008-07-07 19:05:27 +10:00
Adam Meehan
228ab29b5f refactored conversion to remove Time class check which is done in type
cast method
2008-07-07 19:04:13 +10:00
Adam Meehan
caf92fba13 include matcher if test env 2008-07-07 19:03:45 +10:00
Adam Meehan
f40bf36bc9 allow for custom messages in error message checks 2008-07-07 15:23:44 +10:00
Adam Meehan
3f286b9aee refactored restrictions in method 2008-07-07 15:19:32 +10:00
Adam Meehan
bb0e64857a changed Dirty check to full name and changed docs 2008-07-07 15:18:30 +10:00
Adam Meehan
bf6aeea841 fixed struct problem 2008-07-07 15:11:00 +10:00
Adam Meehan
68463908be changed require and include for InstanceTag 2008-07-07 09:57:09 +10:00
Adam Meehan
5edfa5f2fc renamed module DateHelper to InstanceTag 2008-07-07 09:50:29 +10:00
Adam Meehan
6ffb7e5780 doc tweaks and minor stuff 2008-07-01 11:34:49 +10:00
Adam Meehan
67183eb69f changed strict_time_type_cast to use validation parse method to unify and allow pluggable parsers 2008-07-01 11:33:20 +10:00
Adam Meehan
d035de1d7c refactored restrictions validation into own method
added validates_*type methods for forcing the value type used when doing restriction validation
2008-07-01 11:31:17 +10:00
Adam Meehan
a27e4172a7 added check for already changed attribute
added some more documentation
2008-07-01 10:00:30 +10:00
Adam Meehan
6a6448130d added fall through for restriction to do parse value 2008-06-30 22:39:11 +10:00
Adam Meehan
a69e018992 added dirty attribute handling 2008-06-30 22:37:13 +10:00
Adam Meehan
39e16d2fde fixed error on database write with saving cached values for time attributes which have been converted 2008-06-30 16:30:13 +10:00
Adam Meehan
ed23c4a9a4 refactored to convert and cache user input value on write to distinguish from values in read raw from database which allows correct timezone conversion
added override for read_attribute to check for failed time type cast which should save nil value
2008-06-30 15:38:33 +10:00
Adam Meehan
ec12d60224 changed spec_helper rails version selection to use VERSION
added RAILS_VER constant for version checking
fixed rspec module include requirement for 1.1.4 in specs
2008-06-27 09:56:45 +10:00
Adam Meehan
8b6d6ec789 minor hash key change 2008-06-11 10:16:27 +10:00
Adam Meehan
685b0054fe set time zone aware attributes on in spec helper for AR 2008-05-22 07:35:01 +10:00
Adam Meehan
fb463ca7a0 fixed time object passed to strict_time_type_cast error 2008-05-21 17:03:19 +10:00
Adam Meehan
a9b033e539 added strict_time_type_cast method to handle casting
refactored to be simler and rely on read_atribute method conversion
rather than use new reader method definer got time (Rails 2.1)
2008-05-21 16:55:10 +10:00
Adam Meehan
d3b126729b modified conversion for rails <= 2.0.2 to be faster usign schema
conversion methods
2008-05-21 11:01:41 +10:00
Adam Meehan
7fadc2c164 tightened up specs for attribute methods 2008-05-21 10:02:13 +10:00
Adam Meehan
1269d794d0 added AR default error messages
split out parser into method to allow easy overriding
2008-05-20 17:12:38 +10:00
Adam Meehan
c6312329ec changed rails version detection to be tighter to avoid rails RC problem
added rspec on rails validate_timeliness_of matcher
2008-05-15 11:00:07 +10:00
Adam Meehan
b019f87625 reverted parser method as not working with raised exception 2008-05-14 09:42:34 +10:00
Adam Meehan
2284844426 added DateTimeInvalid class
rescue parse error only for DateTimeInvalid class
2008-05-14 09:35:12 +10:00
Adam Meehan
d22aa94b89 changed version check to Rails constant as AR VERSION not loaded by
default
changed time component validation to use dummy date parts to avoid pre
epoch issues
2008-05-14 08:54:50 +10:00
Adam Meehan
4ee24faad4 switched to using Rails::VERSION constant instead of AR which doesn't
seem to be available on rails boot
2008-05-05 09:41:16 +10:00
Adam Meehan
05a2d53b9a moved attribute methods modules into Old and New for rails versions 2008-05-05 09:11:43 +10:00
Adam Meehan
9a8a82c699 fixed restriction value conversion and added nil check 2008-05-03 18:12:51 +10:00
Adam Meehan
cae3d8cb84 added specs for validation 2008-05-03 15:52:40 +10:00
Adam Meehan
8751eddac6 adds module for rails 2.0.x to add reader method for date checking
includes right module based on AR version
better vendored rails check in spec_helper
2008-05-03 13:03:01 +10:00
Adam Meehan
3cf6e64747 fixed up AR 2.0.x timezone support 2008-05-03 08:44:41 +10:00
Adam Meehan
fe7310fc10 fixed read method to use value before type cast
added AR version checks in specs
include AR from vendor if in Rails app
2008-05-03 08:08:28 +10:00
Adam Meehan
8072fe733e set value nil if invalid 2008-05-02 19:07:48 +10:00
Adam Meehan
dff7900c4a check for Time object before validating 2008-05-02 17:14:48 +10:00
Adam Meehan
591ea3126b first commit 2008-05-02 16:42:51 +10:00