class Hodor::Oozie::Coordinator

Attributes

acl[R]
actions[R]
concurrency[R]
conf[R]
console_url[R]
end_time[R]
execution_policy[R]
external_id[R]
frequency[R]
group[R]
id[R]
json[R]
last_action[R]
mat_throttling[R]
materializations[R]
name[R]
next_materialized_time[R]
parent_id[R]
path[R]
start_time[R]
status[R]
time_unit[R]
timeout[R]
timezone[R]
user[R]

Public Class Methods

default_columns() click to toggle source
# File lib/hodor/api/oozie/coordinator.rb, line 10
def default_columns
  [:index, :id, :name, :status, :start_time, :time_unit, :external_id]
end
new(json) click to toggle source
Calls superclass method
# File lib/hodor/api/oozie/coordinator.rb, line 15
def initialize(json)
  super()
  @json = json
  @name = json["coordJobName"]
  @path = json["coordJobPath"]
  @timezone = json["timeZone"]
  @frequency = json["frequency"]
  @conf = json["conf"]
  @end_time = parse_time(json["endTime"])
  @execution_policy = json["executionPolicy"]
  @start_time = parse_time(json["startTime"])
  @time_unit = json["timeUnit"]
  @concurrency = json["concurrency"]
  @id = json["coordJobId"]
  @last_action = parse_time(json["lastAction"])
  @acl = json["acl"]
  @mat_throttling = json["mat_throttling"]
  @timeout = json["timeOut"]
  @next_materialized_time = parse_time(json["nextMaterializedTime"])
  @parent_id = @bundle_id = json["bundleId"]
  @external_id = json["coordExternalId"]
  @group = json["group"]
  @user = json["user"]
  @console_url = json["consoleUrl"]
  @actions = json["actions"]
  @acl = json["acl"]
  @status = json["status"]
end

Public Instance Methods

expand() click to toggle source
# File lib/hodor/api/oozie/coordinator.rb, line 44
def expand
  # Expand immediate children
  @materializations = json["actions"].map do |item|
    Materialization.new(item)
  end.compact.reverse
  @materializations
end