Spec-Zone.ru › Ruby on Rails 8.1

class ActionDispatch::Flash::FlashHash

Родительский класс:
Object
Подключённые модули:
Enumerable

Открытые методы экземпляра

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

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

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

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

clear () Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 204
def clear
  @discard.clear
  @flashes.clear
end
delete (key) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 189
def delete(key)
  key = key.to_s
  @discard.delete key
  @flashes.delete key
  self
end

Немедленно удаляет одну запись из флеш-сообщений. Используйте этот метод, если хотите удалить сообщение в текущем действии. См. также discard.

discard (k = nil) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 264
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

Используйте этот метод, если хотите отобразить сообщение в текущем действии, но не в следующем. См. также delete.

each (&block) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 209
def each(&block)
  @flashes.each(&block)
end
empty? () Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 200
def empty?
  @flashes.empty?
end
initialize_copy (other) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 155
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 250
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 183
def key?(name)
  @flashes.key? name.to_s
end
keys () Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 179
def keys
  @flashes.keys
end
notice () Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 290
def notice
  self[:notice]
end

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

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

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

now () Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 241
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 196
def to_hash
  @flashes.dup
end

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

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

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

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

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

Spec-Zone.ru

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