Module: Prick::Ensure
Overview
Example:
class Some
include Ensure
def exist?() ... end
def create() ... end
def destroy() ... end
def loaded?() ... end
def load() ... end
def unload() ... end
@ensure_states = {
exist: [:create, :destroy],
loaded: [:exist, :load, :unload] # Depends on :exist
}
end
some = Some.new
some.ensure_state(:loaded) # -> calls #create and then #load
some.revoke_state(:loaded) # -> calls #unload but not #destroy
some.ensure_state_value(:exist, false) # same as #revoke_state(:exist)
Instance Method Summary collapse
- #ensure_state(state, *args) ⇒ Object
- #ensure_state_value(state, value, *args) ⇒ Object
- #revoke_state(state, *args) ⇒ Object
Instance Method Details
#ensure_state(state, *args) ⇒ Object
27 |
# File 'lib/prick/ensure.rb', line 27 def ensure_state(state, *args) ensure_state_value(state, true, *args) end |
#ensure_state_value(state, value, *args) ⇒ Object
29 |
# File 'lib/prick/ensure.rb', line 29 def ensure_state_value(state, value, *args) EnsureMethods.ensure(self, state, value, *args) end |
#revoke_state(state, *args) ⇒ Object
28 |
# File 'lib/prick/ensure.rb', line 28 def revoke_state(state, *args) ensure_state_value(state, false, *args) end |