Giter Club home page Giter Club logo

workflow's People

Contributors

bowsersenior avatar crafterm avatar dche avatar dekart avatar geekq avatar indrekj avatar mattallen avatar meuble avatar philippneugebauer avatar ptico avatar rhec avatar robolson avatar ryan-allen avatar tlossen avatar wvk avatar youngbrioche avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

workflow's Issues

It should be possible to mark final states

It would be nice if there would be the chance to mark states as final. Maybe by using sate :foo, is_final: true or somehow else...

This could be used to generate a method is_final? returning true if the object is n a final state.

It would be nice to also have some scopes to filter for objects in final and non-final state.

State groups

Mostly you don't want to do something only in one state but in a collection of states. This leads to code like where(workflow_state: ['foo', 'bar']). It would be very useful to name this kind of state combination.

This could be done by metadata: state :foo, groups: [:baz].
For every group there should be generated the same methods generated for states themselves. E.g. o.baz? should return true if o is in state :foo or in some other state referring to :baz.

Scopes (see #3) would be very useful too... Maybe this meachanism could/should even be used to implement #4.

There should be some scopes

There should be a scope for every workflow state

E.g.

workflow do
  state :foo do
    #...
  end
end

Should automatically define a scope foo in the respective class

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.