
Untitled
By: a guest on
Aug 12th, 2012 | syntax:
None | size: 0.93 KB | hits: 8 | expires: Never
# app/models/wizard.rb
class Wizard
# shared instance methods go here
def self.all_visible_subwizards
descendants.entries.select{|d| d.visible?}.sort
end
end
# lib/wizard_fields.rb
module WizardFields
def self.included(base)
base.class_eval do
property :id, DataMapper::Property::Serial
property :state, String
end
end
end
# app/models/foo_wizard.rb
class FooWizard < Wizard
include DataMapper::Resource
include WizardFields
# some associations here
class << self
def description
"foo wizard"
end
def visible?
true
end
end
# state machine logic down here, other methods
end
# app/models/bar_wizard.rb
class BarWizard < Wizard
include DataMapper::Resource
include WizardFields
# some associations here
class << self
def description
"bar wizard"
end
def visible?
true
end
end
# state machine logic down here, other methods
end