module Einhorn::AbstractState

Public Instance Methods

default_state() click to toggle source
# File lib/einhorn.rb, line 12
def default_state; raise NotImplementedError.new('Override in extended modules'); end
dumpable_state() click to toggle source
# File lib/einhorn.rb, line 15
def dumpable_state; state; end
method_missing(name, *args) click to toggle source
Calls superclass method
# File lib/einhorn.rb, line 17
def method_missing(name, *args)
  if (name.to_s =~ /(.*)=$/) && state.has_key?($1.to_sym)
    state.send(:[]=, $1.to_sym, *args)
  elsif state.has_key?(name)
    state[name]
  else
    ds = default_state
    if ds.has_key?(name)
      ds[name]
    else
      super
    end
  end
end
state() click to toggle source
# File lib/einhorn.rb, line 13
def state; @state ||= default_state; end
state=(v) click to toggle source
# File lib/einhorn.rb, line 14
def state=(v); @state = v; end