class ACTV::Evergreen

Attributes

asset[RW]
current_event[RW]
events[RW]

Public Class Methods

new(asset) click to toggle source
Calls superclass method
# File lib/actv/evergreen.rb, line 7
def initialize asset
  super asset
  @asset = asset
  @events = []
  @current_event = {}
  asset.evergreenAssets.each do |sub_asset|
    @events << SubEvent.new(sub_asset)
    @current_event = sub_asset if Time.parse(sub_asset.fetch(:activityEndDate, "1970-01-01T00:00:01")) > Time.parse(@current_event.fetch(:activityEndDate, "1970-01-01T00:00:01"))
  end
  @events = @events.sort_by { |event| event.end_date }.reverse
  @current_event = ACTV.event @current_event[:assetGuid]

  self
end

Public Instance Methods

components() click to toggle source
# File lib/actv/evergreen.rb, line 26
def components
  @current_event.components
end
description_by_type(type) click to toggle source
# File lib/actv/evergreen.rb, line 34
def description_by_type type
  asset_description = @asset.description_by_type type rescue nil

  if asset_description.present?
    asset_description
  else
    @current_event.description_by_type type
  end
end
evergreen?() click to toggle source
# File lib/actv/evergreen.rb, line 22
def evergreen?
  true
end
legacy_data() click to toggle source
# File lib/actv/evergreen.rb, line 30
def legacy_data
  @current_event.legacy_data
end
method_missing(method, *args, &block) click to toggle source
# File lib/actv/evergreen.rb, line 44
def method_missing method, *args, &block
  begin
    @asset.send(method, *args)
  rescue NoMethodError => e
    @current_event.send(method, *args)
  end
end