Spec-Zone.ru › Ruby on Rails 6.0

класс ActionDispatch::Flash::FlashHash

Родитель:
Объект
Включенные модули:
Enumerable

Публичные методы экземпляра

[](k) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 161
def [](k)
  @flashes[k.to_s]
end
[]=(k, v) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 155
def []=(k, v)
  k = k.to_s
  @discard.delete k
  @flashes[k] = v
end
alert() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 262
def alert
  self[:alert]
end

Удобный доступ к flash[:alert].

alert=(message) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 267
def alert=(message)
  self[:alert] = message
end

Удобный доступ к flash[:alert]=.

clear() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 194
def clear
  @discard.clear
  @flashes.clear
end
delete(key) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 179
def delete(key)
  key = key.to_s
  @discard.delete key
  @flashes.delete key
  self
end
discard(k = nil) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 247
def discard(k = nil)
  k = k.to_s if k
  @discard.merge Array(k || keys)
  k ? self[k] : self
end

Отмечает весь флэш или отдельную запись флэша для удаления в конце текущего действия:

flash.discard              # discard the entire flash at the end of the current action
flash.discard(:warning)    # discard only the "warning" entry at the end of the current action
each(&block) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 199
def each(&block)
  @flashes.each(&block)
end
empty?() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 190
def empty?
  @flashes.empty?
end
initialize_copy(other) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 147
def initialize_copy(other)
  if other.now_is_loaded?
    @now = other.now.dup
    @now.flash = self
  end
  super
end
Вызывает метод суперкласса
keep(k = nil) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 237
def keep(k = nil)
  k = k.to_s if k
  @discard.subtract Array(k || keys)
  k ? self[k] : self
end

Оставляет текущий флэш или отдельную запись флэша доступными для следующего действия:

flash.keep            # keeps the entire flash
flash.keep(:notice)   # keeps only the "notice" entry, the rest of the flash is discarded
key?(name) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 175
def key?(name)
  @flashes.key? name.to_s
end
keys() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 171
def keys
  @flashes.keys
end
notice() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 272
def notice
  self[:notice]
end

Удобный доступ к flash[:notice].

notice=(message) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 277
def notice=(message)
  self[:notice] = message
end

Удобный доступ к flash[:notice]=.

now() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 229
def now
  @now ||= FlashNow.new(self)
end

Устанавливает флэш, который будет недоступен для следующего действия, только для текущего.

flash.now[:message] = "Hello current action"

Этот метод позволяет использовать флэш как центральную систему сообщений в вашем приложении. Когда вам нужно передать объект следующему действию, используйте стандартное назначение флэша ([]=). Когда вам нужно передать объект текущему действию, используйте now, и ваш объект исчезнет, когда текущее действие будет завершено.

Записи, установленные с помощью now доступны так же, как и стандартные записи: flash['my-key'].

Также, предоставляет два удобных метода доступа:

flash.now.alert = "Beware now!"
# Equivalent to flash.now[:alert] = "Beware now!"

flash.now.notice = "Good luck now!"
# Equivalent to flash.now[:notice] = "Good luck now!"
to_hash() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 186
def to_hash
  @flashes.dup
end

Защищенные методы экземпляра

now_is_loaded?() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 282
def now_is_loaded?
  @now
end

Приватные методы экземпляра

stringify_array(array) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 287
def stringify_array(array) # :doc:
  array.map do |item|
    item.kind_of?(Symbol) ? item.to_s : item
  end
end

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API