Read more

Fixing errors with state_machine when excluding states

Arne Hartherz
October 15, 2012Software engineer at makandra GmbH

This is for you if you get the following strange error from the state_machine gem Show archive.org snapshot :

undefined method `-' for #<StateMachine::BlacklistMatcher:0x124769b0>
Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

You probably did something like this in your state_machine ... do block:

def self.final_states
  [ :foo, :bar ]
end

transition (all - machine.final_states - [:baz]) => :target_state

Instead, define the source states like this:

def self.final_states
  [ :foo, :bar ]
end

transition (all - (machine.final_states | [:baz])) => :target_state
Posted by Arne Hartherz to makandra dev (2012-10-15 10:54)