Skip to content

Instantly share code, notes, and snippets.

@stoffie
Created November 7, 2015 18:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save stoffie/3b68f98134aab8db4152 to your computer and use it in GitHub Desktop.
Save stoffie/3b68f98134aab8db4152 to your computer and use it in GitHub Desktop.
class Create < Trailblazer::Operation
include Model
model Workflow
contract do
property :name
property :description
collection :steps, populate_if_empty: Step do
property :form, populate_if_empty: lambda { |params, *| Form.find(params[:id]) }
#validates :form, presence: true
property :user, populate_if_empty: lambda { |params, *| User.find(params[:id]) }
#validates :user, presence: true
end
validates :name, presence: true
validates :steps, presence: true, length: {minimum: 1}
end
def process(params)
validate(params[:workflow]) do |workflow|
workflow.save
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment