class Reaper::Config

Public Instance Methods

delete() click to toggle source
# File lib/reaper.rb, line 317
def delete
  if Reaper.load_config
    File.delete Reaper::CONFIG_FILE_PATH
    puts "Reaper configuration successfully deleted"
  else
    puts "No Reaper configuration is found"
  end
end
show() click to toggle source
# File lib/reaper.rb, line 255
def show
  if Reaper.load_config
    Reaper.show_config $config
  else
    puts "No Reaper configuration is found"
  end
end
update() click to toggle source
# File lib/reaper.rb, line 264
def update
  projs = Reaper.list_projects
  abort unless projs
  
  if Reaper.load_config
    global_settings = {
      'noffset' => $config[:daily_negative_offset],
      'poffset' => $config[:daily_positive_offset]
    }
  else
    global_settings = {
      'noffset' => 0,
      'poffset' => 0
    }
  end
  
  projs_js = projs.values.flatten.map do |p|
    {
      'pid' => p[:project_id],
      'code' => p[:project_code],
      'name' => p[:project_name],
      'client' => p[:client],
      'tasks' => p[:tasks]
    }
  end

  added_tasks = []
  if $config
    added_tasks = $config[:tasks].map do |t|
      {
        'pid': t[:pid],
        'tid': t[:tid],
        'pct': t[:percentage],
      }
    end
  end
  
  puts ''
  Reaper.openWebpage("http://localhost:#{LOCAL_SERVER_PORT}/reaper-config");
  Reaper.start_config_server(global_settings, projs_js, added_tasks)
  
  if $config
    File.write(Reaper::CONFIG_FILE_PATH, $config.to_yaml)

    puts ''
    Reaper.show_config $config
    puts ''

    puts 'Reaper configuration successfully updated'
  end
end