Class: Mongoid::Alize::FromCallback
Instance Attribute Summary
Attributes inherited from Callback
#debug, #denorm_attrs, #inverse_klass, #inverse_metadata, #inverse_relation, #klass, #metadata, #relation
Instance Method Summary
collapse
Methods inherited from Callback
#alias_callback, #aliased_callback_name, #callback_attached?, #callback_defined?, #callback_name, #define_denorm_attrs, #denorm_attrs_name, #field_values, #fields_to_s, #force_check, #force_param, #initialize, #to_s
Instance Method Details
#attach ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/mongoid/alize/from_callback.rb', line 5
def attach
define_mongoid_field
define_denorm_attrs
define_callback
alias_callback
set_callback
end
|
#direction ⇒ Object
34
35
36
|
# File 'lib/mongoid/alize/from_callback.rb', line 34
def direction
"from"
end
|
#ensure_field_not_defined!(prefixed_name, klass) ⇒ Object
20
21
22
23
24
|
# File 'lib/mongoid/alize/from_callback.rb', line 20
def ensure_field_not_defined!(prefixed_name, klass)
if field_defined?(prefixed_name, klass)
raise Mongoid::Alize::Errors::AlreadyDefinedField.new(prefixed_name, klass.name)
end
end
|
#field_defined?(prefixed_name, klass) ⇒ Boolean
26
27
28
|
# File 'lib/mongoid/alize/from_callback.rb', line 26
def field_defined?(prefixed_name, klass)
!!klass.fields[prefixed_name]
end
|
#prefixed_name ⇒ Object
30
31
32
|
# File 'lib/mongoid/alize/from_callback.rb', line 30
def prefixed_name
"#{relation}_fields"
end
|
#set_callback ⇒ Object
14
15
16
17
18
|
# File 'lib/mongoid/alize/from_callback.rb', line 14
def set_callback
unless callback_attached?("save", aliased_callback_name)
klass.set_callback(:save, :before, aliased_callback_name)
end
end
|