Class: Dumpcar::Instance

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Model
Defined in:
lib/dumpcar/instance.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Instance

Returns a new instance of Instance.



7
8
9
10
11
12
# File 'lib/dumpcar/instance.rb', line 7

def initialize(attributes = {})
  cleanup_arguments(attributes)
  @connection = Dumpcar::Util.get_connection_db_config
  @location = Location.new(base_dir)
  @pg = Pg.new(connection)
end

Instance Attribute Details

#base_dirObject

Returns the value of attribute base_dir.



6
7
8
# File 'lib/dumpcar/instance.rb', line 6

def base_dir
  @base_dir
end

#connectionObject

Returns the value of attribute connection.



6
7
8
# File 'lib/dumpcar/instance.rb', line 6

def connection
  @connection
end

#locationObject

Returns the value of attribute location.



6
7
8
# File 'lib/dumpcar/instance.rb', line 6

def location
  @location
end

#pgObject

Returns the value of attribute pg.



6
7
8
# File 'lib/dumpcar/instance.rb', line 6

def pg
  @pg
end

Instance Method Details

#cleanup_arguments(arguments) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/dumpcar/instance.rb', line 22

def cleanup_arguments(arguments)
  arguments = arguments.to_h.with_indifferent_access
  unless arguments.has_key?("base_dir")
    arguments["base_dir"] = Rails.root.join("db/dumps")
  end

  assign_attributes(arguments)
end

#dumpObject



14
15
16
# File 'lib/dumpcar/instance.rb', line 14

def dump
  @pg.dump(@location.next)
end

#restoreObject



18
19
20
# File 'lib/dumpcar/instance.rb', line 18

def restore
  @pg.restore(@location.last)
end