module ActiveFolder::Model::Traits::Persistence

Public Instance Methods

attributes_file() click to toggle source
# File lib/activefolder/model/traits/persistence.rb, line 39
def attributes_file
  params = { dir: path, name: 'attributes' }
  Metal::Files::Yaml.new(**params)
end
destroy() click to toggle source
# File lib/activefolder/model/traits/persistence.rb, line 33
def destroy
  ActiveFolder.client.del(path: path)
end
load() click to toggle source
# File lib/activefolder/model/traits/persistence.rb, line 11
def load
  attrs = attributes_file.load

  attrs.each_pair do |key,val|
    self[key] = val
  end

  run_hook :after_load; self
end
save() click to toggle source
# File lib/activefolder/model/traits/persistence.rb, line 21
def save
  attributes_file.save(attributes)
  run_hook :before_save; self
end
save!() click to toggle source
# File lib/activefolder/model/traits/persistence.rb, line 26
def save!; self.save end
update(**args) click to toggle source
# File lib/activefolder/model/traits/persistence.rb, line 28
def update(**args)
  args.each { |k,v| self[k] = v }
  self.save
end