Module: DataKeeper
- Defined in:
- lib/data_keeper.rb,
lib/data_keeper/error.rb,
lib/data_keeper/dumper.rb,
lib/data_keeper/loader.rb,
lib/data_keeper/railtie.rb,
lib/data_keeper/version.rb,
lib/data_keeper/definition.rb,
lib/data_keeper/s3_storage.rb,
lib/data_keeper/local_storage.rb,
lib/data_keeper/database_config.rb,
lib/data_keeper/database_helper.rb
Defined Under Namespace
Modules: DatabaseConfig
Classes: DatabaseHelper, Definition, DefinitionBuilder, Dumper, Error, Loader, LocalStorage, Railtie, S3Storage
Constant Summary
collapse
- DumpDoesNotExist =
Class.new(Error)
- NoStorageDefined =
Class.new(Error)
- VERSION =
"0.2.0"
- InvalidDumpType =
Class.new(Error)
- InvalidDumpDefinition =
Class.new(Error)
Class Method Summary
collapse
Class Method Details
.clear_dumps! ⇒ Object
89
90
91
|
# File 'lib/data_keeper.rb', line 89
def self.clear_dumps!
@dump_definition_builders = {}
end
|
.create_dump!(name) ⇒ Object
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/data_keeper.rb', line 27
def self.create_dump!(name)
raise DumpDoesNotExist unless dump?(name)
raise NoStorageDefined if @storage.nil?
definition = @dump_definition_builders[name.to_sym].evaluate!
Dumper.new(name, definition).run! do |file, filename|
@storage.save(file, filename, name)
end
end
|
.database_config ⇒ Object
81
82
83
|
# File 'lib/data_keeper.rb', line 81
def self.database_config
@database_config
end
|
.database_config=(value) ⇒ Object
77
78
79
|
# File 'lib/data_keeper.rb', line 77
def self.database_config=(value)
@database_config = value
end
|
.define_dump(name, type = :partial, &block) ⇒ Object
23
24
25
|
# File 'lib/data_keeper.rb', line 23
def self.define_dump(name, type = :partial, &block)
@dump_definition_builders[name.to_sym] = DefinitionBuilder.new(type, block)
end
|
.docker_config ⇒ Object
85
86
87
|
# File 'lib/data_keeper.rb', line 85
def self.docker_config
@docker_config
end
|
.docker_config=(value) ⇒ Object
73
74
75
|
# File 'lib/data_keeper.rb', line 73
def self.docker_config=(value)
@docker_config = value
end
|
.download_dump!(name, path) ⇒ Object
48
49
50
51
52
53
54
55
|
# File 'lib/data_keeper.rb', line 48
def self.download_dump!(name, path)
raise DumpDoesNotExist unless dump?(name)
raise NoStorageDefined if @storage.nil?
@storage.retrieve(name) do |file, filename|
FileUtils.cp file.path, File.join(path, filename)
end
end
|
.dump?(name) ⇒ Boolean
65
66
67
|
# File 'lib/data_keeper.rb', line 65
def self.dump?(name)
@dump_definition_builders.key?(name.to_sym)
end
|
.fetch_and_load_dump!(name) ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/data_keeper.rb', line 38
def self.fetch_and_load_dump!(name)
raise DumpDoesNotExist unless dump?(name)
raise NoStorageDefined if @storage.nil?
definition = @dump_definition_builders[name.to_sym].evaluate!
@storage.retrieve(name) do |file|
Loader.new(definition, file).load!
end
end
|
.load_dump!(name, path) ⇒ Object
57
58
59
60
61
62
63
|
# File 'lib/data_keeper.rb', line 57
def self.load_dump!(name, path)
raise DumpDoesNotExist unless File.file?(path)
raise NoStorageDefined if @storage.nil?
definition = @dump_definition_builders[name.to_sym].evaluate!
Loader.new(definition, File.open(path)).load!
end
|
.storage=(value) ⇒ Object
69
70
71
|
# File 'lib/data_keeper.rb', line 69
def self.storage=(value)
@storage = value
end
|