Class: SerializationHelper::Base
- Inherits:
-
Object
- Object
- SerializationHelper::Base
- Defined in:
- lib/serialization_helper.rb
Instance Attribute Summary collapse
-
#extension ⇒ Object
readonly
Returns the value of attribute extension.
Instance Method Summary collapse
- #disable_logger ⇒ Object
- #dump(dir, filename) ⇒ Object
- #dump_to_dir(dirname) ⇒ Object
-
#initialize(helper) ⇒ Base
constructor
A new instance of Base.
- #load(dir, filename, truncate = true) ⇒ Object
- #load_from_dir(dirname, truncate = true) ⇒ Object
- #reenable_logger ⇒ Object
Constructor Details
#initialize(helper) ⇒ Base
Returns a new instance of Base.
6 7 8 9 10 |
# File 'lib/serialization_helper.rb', line 6 def initialize(helper) @dumper = helper.dumper @loader = helper.loader @extension = helper.extension end |
Instance Attribute Details
#extension ⇒ Object (readonly)
Returns the value of attribute extension.
4 5 6 |
# File 'lib/serialization_helper.rb', line 4 def extension @extension end |
Instance Method Details
#disable_logger ⇒ Object
47 48 49 50 |
# File 'lib/serialization_helper.rb', line 47 def disable_logger @@old_logger = ActiveRecord::Base.logger ActiveRecord::Base.logger = nil end |
#dump(dir, filename) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/serialization_helper.rb', line 12 def dump(dir, filename) disable_logger FileUtils.mkdir_p dir @dumper.dump(File.new(filename, "w")) reenable_logger end |
#dump_to_dir(dirname) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/serialization_helper.rb', line 19 def dump_to_dir(dirname) Dir.mkdir(dirname) tables = @dumper.tables tables.each do |table| io = File.new "#{dirname}/#{table}.#{@extension}", "w" @dumper.before_table(io, table) @dumper.dump_table io, table @dumper.after_table(io, table) end end |
#load(dir, filename, truncate = true) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/serialization_helper.rb', line 30 def load(dir, filename, truncate = true) disable_logger ActiveRecord::Base.connection.disable_referential_integrity do @loader.load(File.new(filename, "r"), truncate) end reenable_logger end |
#load_from_dir(dirname, truncate = true) ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/serialization_helper.rb', line 38 def load_from_dir(dirname, truncate = true) Dir.entries(dirname).each do |filename| if filename =~ /^[.]/ next end @loader.load(File.new("#{dirname}/#{filename}", "r"), truncate) end end |
#reenable_logger ⇒ Object
52 53 54 |
# File 'lib/serialization_helper.rb', line 52 def reenable_logger ActiveRecord::Base.logger = @@old_logger end |