class JobEngine::PositionFactory

Public Class Methods

new(resource) click to toggle source
# File lib/job_engine/position_factory.rb, line 3
def initialize(resource)
  @resource = resource
end

Public Instance Methods

position() click to toggle source
# File lib/job_engine/position_factory.rb, line 7
def position
  if @resource.data[:position]
    data = @resource.
      data[:position].
      merge(extended_data)

    Position.new(data)
  else
    Position.null
  end
end

Private Instance Methods

extended_data() click to toggle source
# File lib/job_engine/position_factory.rb, line 21
def extended_data
  {
    path: @resource.path,
    source_path: source_path,
    updated_at: updated_at,
  }
end
source_path() click to toggle source
# File lib/job_engine/position_factory.rb, line 29
def source_path
  @resource.source_file.sub(%r{^/src/}, '')
end
updated_at() click to toggle source
# File lib/job_engine/position_factory.rb, line 33
def updated_at
  File.mtime(@resource.source_file)
end