Sha256: 3ef049fae80d78495f21208d84b71b6b197b2ce759007e9530f6e6714e99f1fb
Contents?: true
Size: 629 Bytes
Versions: 6
Compression:
Stored size: 629 Bytes
Contents
class AASM::StateMachine def self.[](*args) (@machines ||= {})[args] end def self.[]=(*args) val = args.pop (@machines ||= {})[args] = val end attr_accessor :states, :events, :initial_state, :config attr_reader :name def initialize(name) @name = name @initial_state = nil @states = [] @events = {} @config = OpenStruct.new end def clone klone = super klone.states = states.clone klone.events = events.clone klone end def create_state(name, options) @states << AASM::SupportingClasses::State.new(name, options) unless @states.include?(name) end end
Version data entries
6 entries across 6 versions & 4 rubygems