class SassC::Util::NormalizedMap
def [](k)
- Private: -
def [](k) @map[normalize(k)] end
def []=(k, v)
- Private: -
def []=(k, v) normalized = normalize(k) @map[normalized] = v @key_strings[normalized] = k v end
def as_stored
-
(Hash)
- Hash with the keys as they were stored (before normalization).
def as_stored SassC::Util.map_keys(@map) {|k| @key_strings[k]} end
def delete(k)
- Private: -
def delete(k) normalized = normalize(k) @key_strings.delete(normalized) @map.delete(normalized) end
def denormalize(key)
-
(String)
-
def denormalize(key) @key_strings[normalize(key)] || key end
def dup
def dup d = super d.send(:instance_variable_set, "@map", @map.dup) d end
def each
def each @map.each {|k, v| yield(k, v)} end
def empty?
def empty? @map.empty? end
def has_key?(k)
- Private: -
def has_key?(k) @map.has_key?(normalize(k)) end
def initialize(map = nil)
def initialize(map = nil) @key_strings = {} @map = {} map.each {|key, value| self[key] = value} if map end
def keys
def keys @map.keys end
def map
def map @map.map {|k, v| yield(k, v)} end
def method_missing(method, *args, &block)
def method_missing(method, *args, &block) @map.send(method, *args, &block) end
def normalize(key)
Specifies how to transform the key.
def normalize(key) key.tr("-", "_") end
def respond_to_missing?(method, include_private = false)
def respond_to_missing?(method, include_private = false) @map.respond_to?(method, include_private) end
def size
def size @map.size end
def sort_by
def sort_by @map.sort_by {|k, v| yield k, v} end
def to_a
def to_a @map.to_a end
def to_hash
def to_hash @map.dup end
def update(map)
def update(map) map = map.as_stored if map.is_a?(NormalizedMap) map.each {|k, v| self[k] = v} end
def values
def values @map.values end