Class: Devise::IndifferentHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/devise/rails/warden_compat.rb

Overview

We cannot use Rails Indifferent Hash because it messes up the flash object.

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object



50
51
52
# File 'lib/devise/rails/warden_compat.rb', line 50

def [](key)
  super(convert_key(key))
end

#[]=(key, value) ⇒ Object Also known as: store



54
55
56
# File 'lib/devise/rails/warden_compat.rb', line 54

def []=(key, value)
  regular_writer(convert_key(key), value)
end

#delete(key) ⇒ Object



87
88
89
# File 'lib/devise/rails/warden_compat.rb', line 87

def delete(key)
  super(convert_key(key))
end

#fetch(key, *extras) ⇒ Object



75
76
77
# File 'lib/devise/rails/warden_compat.rb', line 75

def fetch(key, *extras)
  super(convert_key(key), *extras)
end

#key?(key) ⇒ Boolean Also known as: include?, has_key?, member?

Returns:

  • (Boolean)


67
68
69
# File 'lib/devise/rails/warden_compat.rb', line 67

def key?(key)
  super(convert_key(key))
end

#merge(hash) ⇒ Object



83
84
85
# File 'lib/devise/rails/warden_compat.rb', line 83

def merge(hash)
  self.dup.update(hash)
end

#regular_updateObject



48
# File 'lib/devise/rails/warden_compat.rb', line 48

alias_method :regular_update, :update

#regular_writerObject



47
# File 'lib/devise/rails/warden_compat.rb', line 47

alias_method :regular_writer, :[]=

#stringify_keysObject



92
# File 'lib/devise/rails/warden_compat.rb', line 92

def stringify_keys; dup end

#stringify_keys!Object



91
# File 'lib/devise/rails/warden_compat.rb', line 91

def stringify_keys!; self end

#symbolize_keysObject



95
# File 'lib/devise/rails/warden_compat.rb', line 95

def symbolize_keys; to_hash.symbolize_keys end

#to_hashObject



98
# File 'lib/devise/rails/warden_compat.rb', line 98

def to_hash; Hash.new.update(self) end

#to_options!Object



97
# File 'lib/devise/rails/warden_compat.rb', line 97

def to_options!; self end

#update(other_hash) ⇒ Object Also known as: merge!



60
61
62
63
# File 'lib/devise/rails/warden_compat.rb', line 60

def update(other_hash)
  other_hash.each_pair { |key, value| regular_writer(convert_key(key), value) }
  self
end

#values_at(*indices) ⇒ Object



79
80
81
# File 'lib/devise/rails/warden_compat.rb', line 79

def values_at(*indices)
  indices.collect {|key| self[convert_key(key)]}
end