class Hodor::Oozie::Workflow

Attributes

acl[R]
app_name[R]
app_path[R]
conf[R]
console_url[R]
created_at[R]
end_time[R]
external_id[R]
group[R]
id[R]
json[R]
last_mod_time[R]
materialization[R]
materialization_id[R]
name[R]
parent_id[R]
run[R]
start_time[R]
status[R]
to_string[R]
user[R]

Public Class Methods

default_columns() click to toggle source
# File lib/hodor/api/oozie/workflow.rb, line 12
def default_columns
  [:index, :id, :status, :created_at, :last_mod_time, :app_name]
end
new(json) click to toggle source
Calls superclass method Hodor::Oozie::Job::new
# File lib/hodor/api/oozie/workflow.rb, line 17
def initialize(json)
  super()
  @json = json

  @app_path = json["appPath"]
  @acl = json["acl"]
  @status = json["status"]
  @created_at = parse_time json["createdTime"]
  @conf = json["conf"]
  @last_mod_time = parse_time json["lastModTime"]
  @run = json["run"]
  @end_time = parse_time json["endTime"]
  @external_id = json["externalId"]
  @name = @app_name = json["appName"]
  @id = json["id"]
  @start_time = parse_time json["startTime"]
  @materialization_id = json["parentId"]
  ati = @materializeation_id.nil? ? nil : @materialization_id.index('@')
  if ati && ati > 0
    @parent_id = @materialization_id[0..ati-1]
  else
    @parent_id = @materialization_id
    @materialization = nil
  end

  @to_string = json["toString"]
  @group = json["group"]
  @console_url = json["consoleUrl"]
  @user = json["user"]
end

Public Instance Methods

expand() click to toggle source
# File lib/hodor/api/oozie/workflow.rb, line 48
def expand
  # expand immediate children
  @actions = json["actions"].map do |item|
    require_relative 'action'
    Hodor::Oozie::Action.new(item)
  end.compact
end