Class: Volt::Persistors::Flash

Inherits:
Base show all
Defined in:
lib/volt/models/persistors/flash.rb

Instance Method Summary collapse

Methods inherited from Base

#async?, #auto_generate_id, #changed, #clear, #event_added, #event_removed, #initialize, #loaded, #removed, #root_model

Constructor Details

This class inherits a constructor from Volt::Persistors::Base

Instance Method Details

#added(model, index) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/volt/models/persistors/flash.rb', line 6

def added(model, index)
  if Volt.client?
    # Setup a new timer for clearing the flash.
    `
      setTimeout(function() {
        self.$clear_model(model);
      }, 5000);
    `
  end

  # Need to return nil to prevent non-opal object return
  nil
end

#clear_model(model) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/volt/models/persistors/flash.rb', line 20

def clear_model(model)
  @model.delete(model)

  # Clear out the parent collection (usually the main flash)
  # Makes it so flash.empty? reflects if there is any outstanding
  # flashes.
  if @model.size == 0
    collection_name = @model.path[-1]
    @model.parent.delete(collection_name)
  end
end