Module: MongoMapper::Plugins::EmbeddedCallbacks::ClassMethods
- Defined in:
- lib/mongo_mapper/plugins/embedded_callbacks.rb
Instance Method Summary collapse
- #define_callbacks(*args) ⇒ Object
- #embedded_callbacks_off ⇒ Object
- #embedded_callbacks_off? ⇒ Boolean
- #embedded_callbacks_on ⇒ Object
- #embedded_callbacks_on? ⇒ Boolean
- #proxy_callbacks(definition) ⇒ Object
Instance Method Details
#define_callbacks(*args) ⇒ Object
22 23 24 25 |
# File 'lib/mongo_mapper/plugins/embedded_callbacks.rb', line 22 def define_callbacks(*args) if @embedded_callbacks_status.nil? super end |
#embedded_callbacks_off ⇒ Object
31 32 33 |
# File 'lib/mongo_mapper/plugins/embedded_callbacks.rb', line 31 def @embedded_callbacks_status = false end |
#embedded_callbacks_off? ⇒ Boolean
39 40 41 |
# File 'lib/mongo_mapper/plugins/embedded_callbacks.rb', line 39 def !@embedded_callbacks_status end |
#embedded_callbacks_on ⇒ Object
27 28 29 |
# File 'lib/mongo_mapper/plugins/embedded_callbacks.rb', line 27 def @embedded_callbacks_status = true end |
#embedded_callbacks_on? ⇒ Boolean
35 36 37 |
# File 'lib/mongo_mapper/plugins/embedded_callbacks.rb', line 35 def !!@embedded_callbacks_status end |
#proxy_callbacks(definition) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/mongo_mapper/plugins/embedded_callbacks.rb', line 43 def proxy_callbacks(definition) definition.each do |prefix, suffixes| suffixes.each do |suffix| callback = "%s_%s" % [prefix, suffix] class_eval <<-CALLBACK, __FILE__, __LINE__ + 1 class << self alias_method :__original_#{callback}, :#{callback} def #{callback}(*args, **options, &block) embedded_callbacks_on if @embedded_callbacks_status.nil? __original_#{callback}(*args, **options, &block) end end CALLBACK end end end |