Method: Eco::API::UseCases::GraphQL::Helpers::Location::Base::TreeTracking#backup_tree

Defined in:
lib/eco/api/usecases/graphql/helpers/location/base/tree_tracking.rb

#backup_tree(tree = current_tree || live_tree) ⇒ Boolean

Returns whether or not the backup was created.

Parameters:

Returns:

  • (Boolean)

    whether or not the backup was created



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/eco/api/usecases/graphql/helpers/location/base/tree_tracking.rb', line 52

def backup_tree(tree = current_tree || live_tree)
  return false if simulate?
  case tree
  when Eco::API::Organization::TagTree
    tree = tree.source
  when Hash, Array
    # that's alright
  else
    log(:error) {
      "Can't back up tagtree. Expecting TagTree, Hash or Array. Given: #{tree.class}"
    }
    return false
  end

  file = session.file_manager.save_json(tree, self.class::TAGTREE_BACKUP, :timestamp)
  log(:debug) { "Backed-up tagtree saved locally to #{file}." }
  true
end