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.
- data/CHANGELOG +44 -1
- data/MIT-LICENSE +1 -1
- data/README.rdoc +184 -0
- data/lib/active_model.rb +29 -19
- data/lib/active_model/attribute_methods.rb +167 -46
- data/lib/active_model/callbacks.rb +134 -0
- data/lib/active_model/conversion.rb +41 -1
- data/lib/active_model/deprecated_error_methods.rb +1 -1
- data/lib/active_model/dirty.rb +56 -12
- data/lib/active_model/errors.rb +205 -46
- data/lib/active_model/lint.rb +53 -17
- data/lib/active_model/locale/en.yml +26 -23
- data/lib/active_model/mass_assignment_security.rb +160 -0
- data/lib/active_model/mass_assignment_security/permission_set.rb +40 -0
- data/lib/active_model/mass_assignment_security/sanitizer.rb +23 -0
- data/lib/active_model/naming.rb +70 -5
- data/lib/active_model/observing.rb +40 -16
- data/lib/active_model/railtie.rb +2 -0
- data/lib/active_model/serialization.rb +59 -0
- data/lib/active_model/serializers/json.rb +17 -11
- data/lib/active_model/serializers/xml.rb +66 -123
- data/lib/active_model/test_case.rb +0 -2
- data/lib/active_model/translation.rb +64 -0
- data/lib/active_model/validations.rb +150 -68
- data/lib/active_model/validations/acceptance.rb +53 -33
- data/lib/active_model/validations/callbacks.rb +57 -0
- data/lib/active_model/validations/confirmation.rb +41 -23
- data/lib/active_model/validations/exclusion.rb +18 -13
- data/lib/active_model/validations/format.rb +28 -24
- data/lib/active_model/validations/inclusion.rb +18 -13
- data/lib/active_model/validations/length.rb +67 -65
- data/lib/active_model/validations/numericality.rb +83 -58
- data/lib/active_model/validations/presence.rb +10 -8
- data/lib/active_model/validations/validates.rb +110 -0
- data/lib/active_model/validations/with.rb +90 -23
- data/lib/active_model/validator.rb +186 -0
- data/lib/active_model/version.rb +3 -2
- metadata +79 -20
- data/README +0 -21
- data/lib/active_model/state_machine.rb +0 -70
- data/lib/active_model/state_machine/event.rb +0 -62
- data/lib/active_model/state_machine/machine.rb +0 -75
- data/lib/active_model/state_machine/state.rb +0 -47
- data/lib/active_model/state_machine/state_transition.rb +0 -40
- 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
|