class Renv::Engine
Public Class Methods
new(connection:, name: nil, data: nil)
click to toggle source
# File lib/renv/engine.rb, line 8 def initialize(connection:, name: nil, data: nil) @_name = name @_connection = connection @_data = data || Data.new @_loaded = false end
Public Instance Methods
del(keys)
click to toggle source
Deletes one or more keys-value pairs
# File lib/renv/engine.rb, line 28 def del(keys) keys.each { |key| _data.delete(key) } _save end
dump()
click to toggle source
# File lib/renv/engine.rb, line 33 def dump _data.dump end
get(key)
click to toggle source
# File lib/renv/engine.rb, line 15 def get(key) _data[key] end
load(payload)
click to toggle source
# File lib/renv/engine.rb, line 37 def load(payload) _data.load(payload) _save end
set(hash)
click to toggle source
Sets one or more key-value pairs
# File lib/renv/engine.rb, line 20 def set(hash) hash.each_pair do |key, value| _data[key] = value end _save end
Private Instance Methods
_app()
click to toggle source
# File lib/renv/engine.rb, line 71 def _app @_connection.app end
_data()
click to toggle source
# File lib/renv/engine.rb, line 44 def _data return @_data if @_loaded s3file = @_connection.files.get(_path_current) payload = s3file ? s3file.body : '' @_loaded = true @_data.load(payload) end
_name()
click to toggle source
# File lib/renv/engine.rb, line 67 def _name @_name ||= @_connection.app_name end
_path_current()
click to toggle source
# File lib/renv/engine.rb, line 58 def _path_current @_path_current ||= "#{_name}/current" end
_path_new()
click to toggle source
“Backup” path, which is a timestamp in ISO format (2014-08-07T11:24:25)
# File lib/renv/engine.rb, line 63 def _path_new @_path_new ||= "#{_name}/#{Time.now.strftime('%FT%T')}" end
_save()
click to toggle source
# File lib/renv/engine.rb, line 52 def _save [_path_new, _path_current].each do |path| @_connection.files.create(key: path, body: _data.dump, public: false) end end