Class: Cortex::GetPublishStateTransaction

Inherits:
ApplicationTransaction show all
Defined in:
app/transactions/cortex/get_publish_state_transaction.rb

Instance Method Summary collapse

Instance Method Details

#process(input) ⇒ Object



19
20
21
22
23
24
25
26
# File 'app/transactions/cortex/get_publish_state_transaction.rb', line 19

def process(input)
  timestamp_field_item = input[:sorted_field_items].find do |field_item|
    field_item.data['timestamp'].present? && DateTime.now > DateTime.parse(field_item.data["timestamp"])
  end

  active_state = timestamp_field_item ? timestamp_field_item.field.["state"] : input[:content_item].state.titleize
  Success(active_state)
end

#sort_field_items(content_item) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'app/transactions/cortex/get_publish_state_transaction.rb', line 8

def sort_field_items(content_item)
  sorted_field_items = content_item.field_items.select do |field_item|
    field_item.field.field_type_instance.is_a?(DateTimeFieldType) && !field_item.field.["state"].nil?
  end.sort_by {|field_item| field_item.data["timestamp"]}.reverse

  Success({
            sorted_field_items: sorted_field_items,
            content_item: content_item
          })
end