activemodel 3.0.pre → 3.0.0.rc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/CHANGELOG +44 -1
  2. data/MIT-LICENSE +1 -1
  3. data/README.rdoc +184 -0
  4. data/lib/active_model.rb +29 -19
  5. data/lib/active_model/attribute_methods.rb +167 -46
  6. data/lib/active_model/callbacks.rb +134 -0
  7. data/lib/active_model/conversion.rb +41 -1
  8. data/lib/active_model/deprecated_error_methods.rb +1 -1
  9. data/lib/active_model/dirty.rb +56 -12
  10. data/lib/active_model/errors.rb +205 -46
  11. data/lib/active_model/lint.rb +53 -17
  12. data/lib/active_model/locale/en.yml +26 -23
  13. data/lib/active_model/mass_assignment_security.rb +160 -0
  14. data/lib/active_model/mass_assignment_security/permission_set.rb +40 -0
  15. data/lib/active_model/mass_assignment_security/sanitizer.rb +23 -0
  16. data/lib/active_model/naming.rb +70 -5
  17. data/lib/active_model/observing.rb +40 -16
  18. data/lib/active_model/railtie.rb +2 -0
  19. data/lib/active_model/serialization.rb +59 -0
  20. data/lib/active_model/serializers/json.rb +17 -11
  21. data/lib/active_model/serializers/xml.rb +66 -123
  22. data/lib/active_model/test_case.rb +0 -2
  23. data/lib/active_model/translation.rb +64 -0
  24. data/lib/active_model/validations.rb +150 -68
  25. data/lib/active_model/validations/acceptance.rb +53 -33
  26. data/lib/active_model/validations/callbacks.rb +57 -0
  27. data/lib/active_model/validations/confirmation.rb +41 -23
  28. data/lib/active_model/validations/exclusion.rb +18 -13
  29. data/lib/active_model/validations/format.rb +28 -24
  30. data/lib/active_model/validations/inclusion.rb +18 -13
  31. data/lib/active_model/validations/length.rb +67 -65
  32. data/lib/active_model/validations/numericality.rb +83 -58
  33. data/lib/active_model/validations/presence.rb +10 -8
  34. data/lib/active_model/validations/validates.rb +110 -0
  35. data/lib/active_model/validations/with.rb +90 -23
  36. data/lib/active_model/validator.rb +186 -0
  37. data/lib/active_model/version.rb +3 -2
  38. metadata +79 -20
  39. data/README +0 -21
  40. data/lib/active_model/state_machine.rb +0 -70
  41. data/lib/active_model/state_machine/event.rb +0 -62
  42. data/lib/active_model/state_machine/machine.rb +0 -75
  43. data/lib/active_model/state_machine/state.rb +0 -47
  44. data/lib/active_model/state_machine/state_transition.rb +0 -40
  45. data/lib/active_model/validations_repair_helper.rb +0 -35
@@ -1,40 +0,0 @@
1
- module ActiveModel
2
- module StateMachine
3
- class StateTransition
4
- attr_reader :from, :to, :options
5
-
6
- def initialize(opts)
7
- @from, @to, @guard, @on_transition = opts[:from], opts[:to], opts[:guard], opts[:on_transition]
8
- @options = opts
9
- end
10
-
11
- def perform(obj)
12
- case @guard
13
- when Symbol, String
14
- obj.send(@guard)
15
- when Proc
16
- @guard.call(obj)
17
- else
18
- true
19
- end
20
- end
21
-
22
- def execute(obj, *args)
23
- case @on_transition
24
- when Symbol, String
25
- obj.send(@on_transition, *args)
26
- when Proc
27
- @on_transition.call(obj, *args)
28
- end
29
- end
30
-
31
- def ==(obj)
32
- @from == obj.from && @to == obj.to
33
- end
34
-
35
- def from?(value)
36
- @from == value
37
- end
38
- end
39
- end
40
- end
@@ -1,35 +0,0 @@
1
- module ActiveModel
2
- module ValidationsRepairHelper
3
- extend ActiveSupport::Concern
4
-
5
- module ClassMethods
6
- def repair_validations(*model_classes)
7
- setup do
8
- @_stored_callbacks = {}
9
- model_classes.each do |k|
10
- @_stored_callbacks[k] = k._validate_callbacks.dup
11
- end
12
- end
13
- teardown do
14
- model_classes.each do |k|
15
- k._validate_callbacks = @_stored_callbacks[k]
16
- k.__update_callbacks(:validate)
17
- end
18
- end
19
- end
20
- end
21
-
22
- def repair_validations(*model_classes, &block)
23
- @__stored_callbacks = {}
24
- model_classes.each do |k|
25
- @__stored_callbacks[k] = k._validate_callbacks.dup
26
- end
27
- return block.call
28
- ensure
29
- model_classes.each do |k|
30
- k._validate_callbacks = @__stored_callbacks[k]
31
- k.__update_callbacks(:validate)
32
- end
33
- end
34
- end
35
- end