Skip to content

Instantly share code, notes, and snippets.

View stevehebert's full-sized avatar

Steve Hebert stevehebert

View GitHub Profile
@stevehebert
stevehebert / nuspec.xml
Created January 21, 2011 00:29
nuspec file created with the Albacore::nuspec task
<?xml version="1.0"?>
<package>
<metadata>
<id>fluentworkflow</id>
<version>0.0.8.103</version>
<authors>Steve Hebert</authors>
<description>FluentWorkflow is a workflow/saga dsl and runtime component</description>
<language>en-US</language>
<licenseUrl>http://fluentworkflow.codeplex.com/license</licenseUrl>
<projectUrl>http://fluentworkflow.codeplex.com</projectUrl>
class JQueryAjaxStub
constructor: (timeOut, functionData) ->
@originalAjax = jQuery.ajax
jQuery.ajax = (data) =>
setTimeout( ->
(data.success functionData(data.data))
, timeOut)
// given a set of functions defined on our interface
type Functions interface {
RecordDelivery(x Order) Order
ApplyTotals(x Order) Order
NotifyMember(x Order) Order
}
// we can now create a function new function that composes these
// into a new ordering
// given a set of functions defined on our interface
type Functions interface {
RecordDelivery(x Order) (Order, error)
ApplyTotals(x Order) (Order, error)
NotifyMember(x Order) (Order, error)
}
// we can now create a function new function that composes these
// into a new ordering
@stevehebert
stevehebert / state_definition.go
Last active August 23, 2021 17:10
Configuring the State Machine
p.Configure(Opened).
OnEntry(OnOrderOpened).
PermitReentry(AddItemToOrder).
Permit(Claim, Claimed).
Permit(Cancel, Canceled)
p.Configure(Claimed).
OnEntry(OnOrderClaimed).
PermitReentry(AddItemToOrder).
Permit(Deliver, Delivered).
@stevehebert
stevehebert / function_composition.go
Created October 23, 2020 20:59
Example of composing function to operate on the order
p.Configure(Claimed).
OnEntry(RecordShopperAssignment).
OnEntry(SendOrderNotification).
OnEntry(UpdateOrderState).
PermitReentry(AddItemToOrder).
Permit(Submit, ArriveAtStore).
Permit(Cancel, Canceled)
@stevehebert
stevehebert / function_composition.go
Created October 23, 2020 21:03
Applying Transition functions
p.OnTransition(LogTransitionToKafka).
OnTransition(RecordTransitionMetrics)