class WorkflowRb::Mongo::MongoPersistenceProvider
Public Class Methods
new()
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 12 def initialize end
Public Instance Methods
create_new_workflow(workflow)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 15 def create_new_workflow(workflow) p = PersistedWorkflow.new workflow.fill_persisted(p) p.save workflow.id = p._id p._id end
create_subscription(subscription)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 40 def create_subscription(subscription) p = PersistedEventSubscription.new subscription.fill_persisted(p) p.save subscription.id = p._id p._id end
create_unpublished_event(pub)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 59 def create_unpublished_event(pub) p = PersistedEventPublication.new pub.fill_persisted(p) p.save pub.id = p._id p._id end
get_runnable_instances()
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 34 def get_runnable_instances PersistedWorkflow .where(status: WorkflowRb::WorkflowStatus::RUNNABLE) .and(:next_execution.lte => Time.new) end
get_subscriptions(event_name, event_key)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 48 def get_subscriptions(event_name, event_key) PersistedEventSubscription .where(event_name: event_name) .and(event_key: event_key) end
get_unpublished_events()
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 72 def get_unpublished_events PersistedEventPublication.all end
get_workflow_instance(id)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 29 def get_workflow_instance(id) existing = PersistedWorkflow.find(id) existing.to_object end
persist_workflow(workflow)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 23 def persist_workflow(workflow) existing = PersistedWorkflow.find(workflow.id) workflow.fill_persisted(existing) existing.save end
remove_unpublished_event(id)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 67 def remove_unpublished_event(id) existing = PersistedEventPublication.find(id) existing.delete end
terminate_subscription(id)
click to toggle source
# File lib/workflow_rb/mongo/mongo_persistence_provider.rb, line 54 def terminate_subscription(id) existing = PersistedEventSubscription.find(id) existing.delete end