Class XmlSimple::Cache
In: vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb
Parent: Object

A simple cache for XML documents that were already transformed by xml_in.

Methods

Public Class methods

Creates and initializes a new Cache object.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 20
20:     def initialize
21:       @mem_share_cache = {}
22:       @mem_copy_cache  = {}
23:     end

Public Instance methods

Restores a data structure from a memory cache. If restoring the data structure failed for any reason, nil will be returned.

filename:Name of the file belonging to the data structure.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 87
87:     def restore_mem_copy(filename)
88:       data = get_from_memory_cache(filename, @mem_share_cache)
89:       data = Marshal.load(data) unless data.nil?
90:       data
91:     end

Restores a data structure from a shared memory cache. You should consider these elements as "read only". If restoring the data structure failed for any reason, nil will be returned.

filename:Name of the file belonging to the data structure.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 67
67:     def restore_mem_share(filename)
68:       get_from_memory_cache(filename, @mem_share_cache)
69:     end

Restores a data structure from a file. If restoring the data structure failed for any reason, nil will be returned.

filename:Name of the file belonging to the data structure.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 41
41:     def restore_storable(filename)
42:       cache_file = get_cache_filename(filename)
43:       return nil unless File::exist?(cache_file)
44:       return nil unless File::mtime(cache_file).to_i > File::mtime(filename).to_i
45:       data = nil
46:       File.open(cache_file) { |f| data = Marshal.load(f) }
47:       data
48:     end

Copies a data structure to a memory cache.

data:Data structure to be copied.
filename:Name of the file belonging to the data structure.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 77
77:     def save_mem_copy(data, filename)
78:       @mem_share_cache[filename] = [Time::now.to_i, Marshal.dump(data)]
79:     end

Saves a data structure in a shared memory cache.

data:Data structure to be saved.
filename:Name of the file belonging to the data structure.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 56
56:     def save_mem_share(data, filename)
57:       @mem_share_cache[filename] = [Time::now.to_i, data]
58:     end

Saves a data structure into a file.

data:Data structure to be saved.
filename:Name of the file belonging to the data structure.

[Source]

    # File vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb, line 31
31:     def save_storable(data, filename)
32:       cache_file = get_cache_filename(filename)
33:       File.open(cache_file, "w+") { |f| Marshal.dump(data, f) }
34:     end

[Validate]