19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/draco/state.rb', line 19
def state(values, options = {})
raise Draco::State::StateExistsError, "This entity already has a state defined" if @default_state
raise Draco::State::NoStatesDefinedError, "This entity has no possible states defined." if values.nil? || values.empty?
@default_state = options.delete(:default) || values.first.new
@state_options = values
unless values.include?(@default_state.class)
message = ["The default state is not a member of the possible states."]
messate += "Make sure you initialize the class." if @default_state.is_a?(Class)
raise Draco::State::InvalidDefaultError, message.join(" ")
end
end
|