Module: Sequel::SchemaCaching
- Defined in:
- lib/sequel/extensions/schema_caching.rb
Instance Method Summary collapse
-
#dump_schema_cache(file) ⇒ Object
Dump the cached schema to the filename given in Marshal format.
-
#dump_schema_cache?(file) ⇒ Boolean
Dump the cached schema to the filename given unless the file already exists.
-
#load_schema_cache(file) ⇒ Object
Replace the schema cache with the data from the given file, which should be in Marshal format.
-
#load_schema_cache?(file) ⇒ Boolean
Replace the schema cache with the data from the given file if the file exists.
Instance Method Details
#dump_schema_cache(file) ⇒ Object
Dump the cached schema to the filename given in Marshal format.
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/sequel/extensions/schema_caching.rb', line 53 def dump_schema_cache(file) sch = {} @schemas.sort.each do |k,v| sch[k] = v.map do |c, h| h = Hash[h] h.delete(:callable_default) [c, h] end end File.open(file, 'wb'){|f| f.write(Marshal.dump(sch))} nil end |
#dump_schema_cache?(file) ⇒ Boolean
Dump the cached schema to the filename given unless the file already exists.
68 69 70 |
# File 'lib/sequel/extensions/schema_caching.rb', line 68 def dump_schema_cache?(file) dump_schema_cache(file) unless File.exist?(file) end |
#load_schema_cache(file) ⇒ Object
Replace the schema cache with the data from the given file, which should be in Marshal format.
74 75 76 77 78 |
# File 'lib/sequel/extensions/schema_caching.rb', line 74 def load_schema_cache(file) @schemas = Marshal.load(File.read(file)) @schemas.each_value{|v| schema_post_process(v)} nil end |
#load_schema_cache?(file) ⇒ Boolean
Replace the schema cache with the data from the given file if the file exists.
82 83 84 |
# File 'lib/sequel/extensions/schema_caching.rb', line 82 def load_schema_cache?(file) load_schema_cache(file) if File.exist?(file) end |