Class: Tori::Rails::Callback
- Inherits:
-
Object
- Object
- Tori::Rails::Callback
- Defined in:
- lib/tori/rails/callback.rb
Instance Method Summary collapse
- #after_destroy(record) ⇒ Object
- #after_save(record) ⇒ Object
- #before_validation(record) ⇒ Object
-
#initialize ⇒ Callback
constructor
A new instance of Callback.
- #register(type, args) ⇒ Object
Constructor Details
#initialize ⇒ Callback
Returns a new instance of Callback.
4 5 6 7 8 9 10 11 12 |
# File 'lib/tori/rails/callback.rb', line 4 def initialize @callbacks = { store_key: [], before_upload: [], upload: [], after_upload: [], destroy: [] } end |
Instance Method Details
#after_destroy(record) ⇒ Object
43 44 45 46 47 |
# File 'lib/tori/rails/callback.rb', line 43 def after_destroy(record) @callbacks[:destroy].each do |callback| destroy_image(record, name: callback[:name]) end end |
#after_save(record) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/tori/rails/callback.rb', line 28 def after_save(record) @callbacks[:before_upload].each do |callback| record.send(callback[:callback], name: callback[:name]) end @callbacks[:upload].each do |callback| upload_image(record, name: callback[:name]) end @callbacks[:after_upload].each do |callback| record.send(callback[:callback], name: callback[:name]) end @callbacks[:store_key].each do |callback| store_key(record, name: callback[:name], key: callback[:args][:key]) end end |
#before_validation(record) ⇒ Object
22 23 24 25 26 |
# File 'lib/tori/rails/callback.rb', line 22 def before_validation(record) @callbacks[:store_key].each do |callback| store_dummy_key(record, key: callback[:args][:key]) end end |
#register(type, args) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/tori/rails/callback.rb', line 14 def register(type, args) @callbacks[type] << { name: args[:name], callback: args[:callback], args: args.slice!(:name, :callback) } end |