app/models/concerns/job_concern.rb
module JobConcern
extend ActiveSupport::Concern
extend ActiveModel::Naming
extend ActiveModel::Translation
include ActiveModel::Model
included do
attr_reader :datas
end
module ClassMethods
end
def links
{}.tap do |links|
datas['links'].each do |link|
links[link["rel"]] = link["href"]
end
end
end
def started?
status == "started"
end
def aborted?
status == "aborted"
end
def cache_key
"#{id}_#{status}"
end
def cache_expiration
started? ? 10.seconds : 1.hours
end
def id
datas.id
end
def status
datas.status.downcase
end
def referential_name
datas.referential
end
def name
datas.action_parameters.name
end
def user_name
datas.action_parameters.user_name
end
def created_at
Time.at(datas.created.to_i / 1000) if datas.created
end
def updated_at
Time.at(datas.updated.to_i / 1000) if datas.updated
end
def format
datas.type
end
def organisation_name
datas.action_parameters.organisation_name
end
def no_save
datas.action_parameters.no_save
end
alias_method :no_save?, :no_save
def clean_repository
datas.action_parameters.clean_repository
end
end