Code Monkey home page Code Monkey logo

Comments (4)

piotrmurach avatar piotrmurach commented on June 1, 2024

Thanks Klaas! This looks so much nicer now and provides proper callback ordering. 😍

fsm = FiniteMachine.define do
  initial :previous

  events {
    event :go, :previous => :next, if: -> { puts "checking condition"; true }
  }

  callbacks {
    on_exit       { |event| puts "exit_#{event.from}" }
    on_before     { |event| puts "\tbefore_#{event.name}"    }
    on_transition { |event| puts "\t\ttransition: #{event.name}: #{event.from} -> #{event.to}" }
    on_enter      { |event| puts "\tenter_#{event.to}"  }
    on_after      { |event| puts "after_#{event.name}"     }
  }
end

from finite_machine.

kjwierenga avatar kjwierenga commented on June 1, 2024

Cool. Good job.

Op 26 mei 2014, om 20:56 heeft Piotr Murach [email protected] het volgende geschreven:

Thanks Klaas! This looks so much nicer now and provides proper callback ordering.

fsm = FiniteMachine.define do
initial :previous

events {
event :go, :previous => :next, if: -> { puts "checking condition"; true }
}

callbacks {
on_exit { |event| puts "exit_#{event.from}" }
on_before { |event| puts "\tbefore_#{event.name}" }
on_transition { |event| puts "\t\ttransition: #{event.name}: #{event.from} -> #{event.to}" }
on_enter { |event| puts "\tenter_#{event.to}" }
on_after { |event| puts "after_#{event.name}" }
}
end

Reply to this email directly or view it on GitHub.

from finite_machine.

piotrmurach avatar piotrmurach commented on June 1, 2024

Updated docs to explain the callback lifecycle. see

from finite_machine.

piotrmurach avatar piotrmurach commented on June 1, 2024

@kjwierenga Released 0.7.0 version! I will soon post more issues/milestone for future ideas/features that I'd like to discuss.

from finite_machine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.