debug ee
end
end
- unless @default.nil?
- begin
- return Marshal.restore(@default)
- rescue
- return nil
- end
- else
- return nil
- end
+ return default
end
end
# lookup a key in the registry
def [](key)
- return nil unless File.exist?(@filename)
- if registry.has_key?(key)
+ if File.exist?(@filename) && registry.has_key?(key)
return restore(registry[key])
- elsif @default != nil
- return restore(@default)
else
- return nil
+ return default
end
end
# set the default value for registry lookups, if the key sought is not
# found, the default will be returned. The default default (har) is nil.
def set_default (default)
- @default = store(default)
+ @default = default
+ end
+
+ def default
+ @default && (@default.dup rescue @default)
end
# just like Hash#each
# delete a key from the registry
def delete(key)
- return nil unless File.exist?(@filename)
+ return default unless File.exist?(@filename)
return registry.delete(key)
end