Class: SimplerWorkflow::ActivityRegistry
- Inherits:
-
Object
- Object
- SimplerWorkflow::ActivityRegistry
- Defined in:
- lib/simpler_workflow/activity_registry.rb
Instance Method Summary collapse
- #get(*activity_tuple) ⇒ Object (also: #[])
- #persist_attributes(activity) ⇒ Object
- #register(*activity_tuple) ⇒ Object (also: #[]=)
Instance Method Details
#get(*activity_tuple) ⇒ Object Also known as: []
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/simpler_workflow/activity_registry.rb', line 13 def get(*activity_tuple) domain = activity_tuple.shift if AWS::SimpleWorkflow::ActivityType === domain name = domain.name.to_sym version = domain.version domain = domain.domain else name = activity_tuple.first case name when Hash version = name[:version] name = name[:name].to_sym when String, Symbol name = name.to_sym version = activity_tuple.last end end registry_for_domain(domain)[[name, version]] end |
#persist_attributes(activity) ⇒ Object
38 39 40 41 42 |
# File 'lib/simpler_workflow/activity_registry.rb', line 38 def persist_attributes(activity) domain = Domain.for(activity.domain) sdb_domain(domain).items.create(activity.simple_db_name, activity.simple_db_attributes) end |
#register(*activity_tuple) ⇒ Object Also known as: []=
3 4 5 6 7 8 9 |
# File 'lib/simpler_workflow/activity_registry.rb', line 3 def register(*activity_tuple) domain = activity_tuple.shift activity = activity_tuple.pop if activity_tuple.last.is_a?(Activity) raise "Activity missing from registration" unless activity registry_for_domain(domain)[activity_tuple] = activity end |