FYI, I changed the name of the sample app repository to ruote-rails- example, so the new Github link is:
http://github.com/threetee/ruote-rails-example On May 6, 5:16 pm, John Mettraux <[email protected]> wrote: > On Thu, May 06, 2010 at 11:07:12AM -0700, hansen wang wrote: > > > I'm a new user for ruote,and i have to Integrate Ruote,Ruote- > > kit,Rails,I know there is a > > Ruote-on-rails sample.But now I want to know how can i use Ruote-kit > > in Ruote-on-rails. > > Hello, > > Eric has been preparing a sample application, but it's still very early : > > http://github.com/threetee/ruote-rails-test > > > eg: > > I create a controller,model in the ruote-on-rails. but how to start > > with Ruote-kit. > > 1.how to register a participant? > > It generally happens in config/initializers/ruote.rb > > Here is a simple example : > > ---8<--- > require 'ruote/couch' > > RuoteKit.configure do |c| > > c.run_worker = true unless $RAKE_TASK > > uri = File.read(Rails.root.join('config', 'couch_url.txt')).strip > uri = URI.parse(uri) > > c.set_storage( > Ruote::Couch::CouchStorage, > uri.host, uri.port, > 'couch_prefix' => "roma_#{Rails.env}", 'couch_timeout' => 60) > > c.register do > catchall Ruote::StorageParticipant > end > end > --->8--- > > This example show how the engine is configured and how a unique "catchall" > participant is registered. > > It uses ruote-couch as a storage, it's a bit "advanced", for a beginning, > using the fs_storage is the best thing. > > In another application, I have > > ---8<--- > c.register do > > participant( > 'create_audit', Capua::Participants::CreateAudit) > participant( > 'un_suspend_annual_augit', Capua::Participants::SuspendAnnualAudit) > > catchall Ruote::StorageParticipant > end > --->8--- > > Where the participants are located under lib/capua/participants/ > > ---8<--- > module Capua > module Participants > > # Creates an audit resource for a given project > # > class CreateAudit > include Ruote::LocalParticipant > > def initialize (opts) > @opts = opts > end > > def consume (workitem) > puts "hello #{workitem.fields['name']}, creating an audit..." > reply_to_engine(workitem) > end > end > end > end > --->8--- > > > 2.how to understand and use Ruote::StorageParticipant in the > > rails app. > > The code of the storage participant is at : > > http://github.com/jmettraux/ruote/blob/ruote2.1/lib/ruote/part/storag... > > The interesting methods are : > > - all () > - [] / fetch (fei) > - reply (workitem) > - size > - by_participant (name) > - by_field (field, value=nil) > - update (workitem) > > You can grab the storage participant from your controller with : > > ---8<--- > RuoteKit.storage_participant > > # for example : > @workitems = RuoteKit.storage_participant.all > --->8--- > > The update methods saves back a workitem into the storage participant, the > reply method removes it from the participant and gives it back to the engine > so that the process instance resumes. > > > 3.Is there somebody could give me a detail code sample. > > I hope these "hints" are sufficient for now. > > Your questions are welcome. > > Best regards, > > -- > John Mettraux -http://jmettraux.wordpress.com > > -- > you received this message because you are subscribed to the "ruote users" > group. > to post : send email to [email protected] > to unsubscribe : send email to [email protected] > more options :http://groups.google.com/group/openwferu-users?hl=en -- you received this message because you are subscribed to the "ruote users" group. to post : send email to [email protected] to unsubscribe : send email to [email protected] more options : http://groups.google.com/group/openwferu-users?hl=en
