Sha256: bc315b3576898e2c5b7c6845650c173e6114ca1be47726cdd74d220f303ae158

Contents?: true

Size: 1.85 KB

Versions: 31

Compression:

Stored size: 1.85 KB

Contents

require 'rbbt/util/open'

require 'haml'
module WorkflowRESTHelpers

  def workflow_render(template, workflow = nil, task = nil, params = {})
    workflow = consume_parameter(:workflow, params) if workflow.nil?
    task     = consume_parameter(:task, params) if workflow.nil?
    job      = consume_parameter(:job, params) if job.nil?

    template_file = locate_workflow_template(template, workflow, task)

    locals = params.dup
    locals[:workflow] = workflow if workflow
    locals[:task]     = task if task

    if layout
      layout_file = workflow.libdir.www.views[workflow.to_s]["layout.haml"] if workflow.libdir
      layout_file = locate_template("layout") unless layout_file and layout_file.exists?
    else
      layout_file = nil
    end

    if job 
      locals[:job] = job 
      @step = job
      cache_type = execution_type(workflow, task)
      server_key = $app_name
      html_dir = job.file('.html')
      FileUtils.mkdir_p html_dir.find unless File.exists? html_dir.find
      cache_file = html_dir[server_key]
      cache_type = false if params[:cache] == FalseClass
      render(template_file, locals, layout_file, [task,workflow,job.name] * "-", :cache_type => cache_type, :cache_file => cache_file)
    else
      cache_type = :async
      cache_type = false if params[:cache] == FalseClass
      render(template_file, locals, layout_file, [workflow, task, template_file].compact * "-", :cache_type => :async )
    end
  end

  def workflow_partial(template, workflow = nil, task = nil, params = {})
    workflow = consume_parameter(:workflow, params) if workflow.nil?
    task     = consume_parameter(:task, params) if workflow.nil?

    template_file = locate_workflow_template(template, workflow, task)

    locals = params.dup
    locals[:workflow] = workflow if workflow
    locals[:task]     = task if task

    render_partial(template_file, locals)
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
rbbt-rest-1.8.62 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.61 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.60 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.59 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.58 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.57 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.56 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.55 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.53 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.52 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.51 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.50 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.49 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.48 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.47 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.46 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.45 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.44 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.43 lib/rbbt/rest/workflow/render.rb
rbbt-rest-1.8.42 lib/rbbt/rest/workflow/render.rb