class TwistlockControl::PersistedEntity

A persisted entity is an entity that has its own persistant storage repository.

Public Class Methods

all() click to toggle source
# File lib/twistlock_control/entity.rb, line 34
def self.all
        repository.all.map { |a| deserialize a }
end
deserialize(attrs) click to toggle source
# File lib/twistlock_control/entity.rb, line 25
def self.deserialize(attrs)
        return nil if attrs.nil?
        new(attrs)
end
find_by_id(id) click to toggle source
# File lib/twistlock_control/entity.rb, line 21
def self.find_by_id(id)
        deserialize repository.find_by_id(id)
end
find_with_ids(ids) click to toggle source
# File lib/twistlock_control/entity.rb, line 30
def self.find_with_ids(ids)
        repository.find_with_ids(ids).map { |a| deserialize a }
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/twistlock_control/entity.rb, line 50
def self.inherited(subclass)
        subclass.class_exec do
                def self.repository(repository = nil)
                        return @repository = repository if repository
                        return @repository if @repository
                        return superclass.repository if superclass.respond_to?(:repository)

                        fail "#{name} has not defined a repository."
                end
        end
        super(subclass)
end
repository(repository = nil) click to toggle source
# File lib/twistlock_control/entity.rb, line 52
def self.repository(repository = nil)
        return @repository = repository if repository
        return @repository if @repository
        return superclass.repository if superclass.respond_to?(:repository)

        fail "#{name} has not defined a repository."
end

Public Instance Methods

remove() click to toggle source
# File lib/twistlock_control/entity.rb, line 42
def remove
        repository.remove(id)
end
repository() click to toggle source
# File lib/twistlock_control/entity.rb, line 46
def repository
        self.class.repository
end
save() click to toggle source
# File lib/twistlock_control/entity.rb, line 38
def save
        repository.save(serialize)
end