Spec-Zone.ru › Ruby on Rails 4.1

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

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

Публичные методы класса

from_session_value(значение) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 79
def self.from_session_value(value)
  flash = case value
          when FlashHash # Rails 3.1, 3.2
            new(value.instance_variable_get(:@flashes), value.instance_variable_get(:@used))
          when Hash # Rails 4.0
            new(value['flashes'], value['discard'])
          else
            new
          end

  flash.tap(&:sweep)
end

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

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

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

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

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

# File actionpack/lib/action_dispatch/middleware/flash.rb, line 223
def alert=(message)
  self[:alert] = message
end
clear() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 150
def clear
  @discard.clear
  @flashes.clear
end
delete(ключ) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 135
def delete(key)
  key = key.to_s
  @discard.delete key
  @flashes.delete key
  self
end
discard(k = nil) Показать исходный код

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

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
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 203
def discard(k = nil)
  k = k.to_s if k
  @discard.merge Array(k || keys)
  k ? self[k] : self
end
each(&блок) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 155
def each(&block)
  @flashes.each(&block)
end
пустой?() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 146
def empty?
  @flashes.empty?
end
initialize_copy(другой) Показать исходный код
Вызывает метод суперкласса
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 103
def initialize_copy(other)
  if other.now_is_loaded?
    @now = other.now.dup
    @now.flash = self
  end
  super
end
keep(k = nil) Показать исходный код

Оставляет либо весь текущий флеш, либо определённую запись флеша доступной для следующего действия:

flash.keep            # keeps the entire flash
flash.keep(:notice)   # keeps only the "notice" entry, the rest of the flash is discarded
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 193
def keep(k = nil)
  k = k.to_s if k
  @discard.subtract Array(k || keys)
  k ? self[k] : self
end
ключ?(название) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 131
def key?(name)
  @flashes.key? name.to_s
end
ключи() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 127
def keys
  @flashes.keys
end
уведомление() Показать исходный код

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

# File actionpack/lib/action_dispatch/middleware/flash.rb, line 228
def notice
  self[:notice]
end
уведомление=(сообщение) Показать исходный код

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

# File actionpack/lib/action_dispatch/middleware/flash.rb, line 233
def notice=(message)
  self[:notice] = message
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!"
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 185
def now
  @now ||= FlashNow.new(self)
end
to_hash() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 142
def to_hash
  @flashes.dup
end
to_session_value() Показать исходный код
# File actionpack/lib/action_dispatch/middleware/flash.rb, line 92
def to_session_value
  return nil if empty?
  {'discard' => @discard.to_a, 'flashes' => @flashes}
end

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

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

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

Spec-Zone.ru

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