module AssMaintainer::InfoBase::Interfaces::InfoBase

Common interface for different infobase types Interface must be implemented in {InfoBase::FileIb} and {InfoBase::ServerIb} modules

Public Instance Methods

exists?() click to toggle source

True if infobase exists

# File lib/ass_maintainer/info_base/interfaces.rb, line 101
def exists?
  fail NotImplementedError
end
lock(from: Time.now, to: Time.now + 3600, message: '') click to toggle source

@note It must work for {InfoBase::ServerIb} only.

For {InfoBase::FileIb} it must do nothing

Locking infobase if it possible. Be careful it terminate all sessions! Before do it should set +InfoBase#unlock_code+! Schedule jobs will be locked to! @raise [LockError] unless +InfoBase#unlock_code+ setted @raise [UnlockError] unless soft {#unlock} possible. If catched

it, shold do force unlock {unlock!} and try againe
# File lib/ass_maintainer/info_base/interfaces.rb, line 63
def lock(from: Time.now, to: Time.now + 3600, message: '')
  fail NotImplementedError
end
lock_schjobs() click to toggle source

@note (see lock) Lock schedule jobs

# File lib/ass_maintainer/info_base/interfaces.rb, line 83
def lock_schjobs
  fail NotImplementedError
end
locked?() click to toggle source

@note For {InfoBase::FileIb} it must always return false

It work for {InfoBase::ServerIb} only.

Return true if on server flag +SessionsDenied == true+

# File lib/ass_maintainer/info_base/interfaces.rb, line 96
def locked?
  fail NotImplementedError
end
sessions() click to toggle source

@note For {InfoBase::FileIb} must returns empty array Returns array of infobase sessions exclude {InfoBase::Session::EXCLUDE_APP_IDS} application types @return [Array <InfoBase::Session>]

# File lib/ass_maintainer/info_base/interfaces.rb, line 51
def sessions
  fail NotImplementedError
end
unlock() click to toggle source

@note (see lock) Soft unlocking infobase if it possible. For force unlocking exec #{unlock!} @raise [UnlockError] unless unlocking possible

# File lib/ass_maintainer/info_base/interfaces.rb, line 71
def unlock
  fail NotImplementedError
end
unlock!() click to toggle source

@note (see lock) Force unlock infobase.

# File lib/ass_maintainer/info_base/interfaces.rb, line 77
def unlock!
  fail NotImplementedError
end
unlock_schjobs() click to toggle source

@note (see lock) Unlock schedule jobs

# File lib/ass_maintainer/info_base/interfaces.rb, line 89
def unlock_schjobs
  fail NotImplementedError
end