Sha256: dc2f419514f5f21ffadba93e1d76b432379a77176f8d49df4090849742018244
Contents?: true
Size: 616 Bytes
Versions: 1
Compression:
Stored size: 616 Bytes
Contents
module FSM class MachineConfig CONFIG_METHODS = %w[state transition initial attribute] instance_methods.each do |m| undef_method m unless m == '__send__' || m == '__id__' || m == 'instance_eval' end def initialize(target) @target = target end def process(&block) instance_eval(&block) end def method_missing(sym, *args, &block) raise "Unknown config method '#{sym}'. Only #{CONFIG_METHODS.map() {|item| "'#{item}'" }.join(', ')} are known" unless CONFIG_METHODS.include?(sym.to_s) @target.__send__(sym, *args, &block) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simplificator-fsm-0.1.0 | lib/fsm/machine_config.rb |