def handle_options options
options = @defaults.merge(options)
options[:domain] = domain.name
status = options.delete(:status)
status ||= (options[:closed_after] or options[:closed_before]) ?
:closed : :open
case status
when :open then open_or_closed = :open
when :closed then open_or_closed = :closed
else
open_or_closed = :closed
options[:close_status_filter] = { :status => status.to_s.upcase }
end
time_filter(open_or_closed, options)
if workflow_id = options.delete(:workflow_id)
options[:execution_filter] = {}
options[:execution_filter][:workflow_id] = workflow_id
end
if tag = options.delete(:tagged)
options[:tag_filter] = {}
options[:tag_filter][:tag] = tag
end
if type = options.delete(:workflow_type)
if type.is_a?(WorkflowType)
type = { :name => type.name, :version => type.version }
end
options[:type_filter] = type
end
[open_or_closed, options]
end