class Innate::URLMap
Public Class Methods
new(map = {})
click to toggle source
Calls superclass method
# File lib/innate/dynamap.rb, line 3 def initialize(map = {}) @originals = map super end
Public Instance Methods
at(location)
click to toggle source
# File lib/innate/dynamap.rb, line 26 def at(location) @originals[location] end
call(env)
click to toggle source
Calls superclass method
# File lib/innate/dynamap.rb, line 38 def call(env) raise "Nothing mapped yet" if @originals.empty? super end
delete(location)
click to toggle source
# File lib/innate/dynamap.rb, line 21 def delete(location) @originals.delete(location) remap(@originals) end
map(location, object)
click to toggle source
# File lib/innate/dynamap.rb, line 16 def map(location, object) return unless location and object remap(@originals.merge(location.to_s => object)) end
remap(map)
click to toggle source
super may raise when given invalid locations, so we only replace the `@originals` if we are sure the new map is valid
Calls superclass method
# File lib/innate/dynamap.rb, line 10 def remap(map) value = super @originals = map value end
to(object)
click to toggle source
# File lib/innate/dynamap.rb, line 30 def to(object) @originals.invert[object] end
to_hash()
click to toggle source
# File lib/innate/dynamap.rb, line 34 def to_hash @originals.dup end