Just thought I would put this here in case others are looking for this
topic...

<def tag='transition-buttons'>
  <div class='transitions'>
    <% this.lifecycle.available_transitions_for(current_user).each do |
t| %>
      <transition-button transition='&t'/>
    <% end %>
  </div>
</def>

On Oct 20, 1:28 pm, dd <[email protected]> wrote:
> So there is no constant that returns any single state. I solved it by
> writing a little initializer file:
>
>   class Hobo::Lifecycles::DeclarationDSL
>
>     def state_with_constants *args, &block
>       state_without_constants *args, &block
>       args.extract_options!
>       args.each { |name| @lifecycle.class_eval "#{name.to_s.upcase} =
> '#{name}'" }
>     end
>
>     alias_method_chain :state, :constants
>   end
>
> So now I can use any defined state a la HoboFields, to including it in
> queries without any possible typo
>
> MyClass::Lifecycle::ANYSTATE
>
> Since the relavant part is just a simple line of code which make it also
> consistent with HoboFields
>
> @lifecycle.class_eval "#{name.to_s.upcase} = '#{name}'"
>
> you might consider to include it in your code.
>
> On Tue, Oct 20, 2009 at 11:00 AM, Bryan Larsen <[email protected]>wrote:
>
>
>
>
>
> > MyClass::Lifecycle.states.keys lists the states.  This list should be
> > available at "compile time" so you can stick an assert in a section of
> > code that's being run while "compiling" the class.
>
> > cheers,
> > Bryan
>
> > dd wrote:
> > > Thank you for the reply, but I don't need to check the current state. I
> > > need to retrieve any state from the set of states of the lifecycle. Some
> > > sort of accessor that fails at compile-time unless you type correctly,
> > > like a constant indeed.
>
> > > On Tue, Oct 20, 2009 at 9:28 AM, Owen <[email protected]
> > > <mailto:[email protected]>> wrote:
>
> > >     Have you tried this?
>
> > >        currentstste=article.lifecycle.state_name
>
> > >     -Owen
>
> > >     On Oct 20, 1:26 am, dd <[email protected]
> > >     <mailto:[email protected]>> wrote:
> > >      > When you define:
>
> > >      >      class Article < ActiveRecord::Base
> > >      >        Status = HoboFields::EnumString.for
> > >      > (:draft, :approved, :published)
> > >      >        fields do
> > >      >          status Status
> > >      >        end
> > >      >      end
>
> > >      > You can use the Article::Status::APPROVED instead of the string
> > >      > 'approved', and you will avoid any possible typo.
>
> > >      > Is there anything like that (i mean constants or accessors) for
> > the
> > >      > Lifecycle states?
>
> > >      > If you have:
>
> > >      >      state :foo, :default => true
> > >      >      state :bar
>
> > >      > How can you access the values through a constant? Something like:
> > >      > Article::State::FOO or Article::Lifecycle::State::FOO.
>
> > >      > I know: I could set the constants manually and use them to define
> > the
> > >      > states, but that;s not sexy, specially if there are some internal
> > >      > constants already set, but I don't find them.
>
> > >      > What is the official way to access any defined state
> > string/symbol?
>
> > >      > Thank you
>
> > > --
> > > "I have absolutely no sympathy for human beings whatsoever. None. And no
> > > matter what kind of problem humans are facing, whether it's natural or
> > > man-made, I always hope it gets worse." (George Carlin)
>
> --
> "I have absolutely no sympathy for human beings whatsoever. None. And no
> matter what kind of problem humans are facing, whether it's natural or
> man-made, I always hope it gets worse." (George Carlin)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to