Class: Foy::Runner::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/foy_runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Base

Returns a new instance of Base.



8
9
10
# File 'lib/foy_runner.rb', line 8

def initialize(client)
  @client = client
end

Instance Method Details

#collect_project_packagesObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/foy_runner.rb', line 12

def collect_project_packages
  projects = @client.get_projects
  projects.each do |project|
    git_fetcher = Foy::Runner::GitFetcher.new(project.repository)
    begin
      file = git_fetcher.get("Gemfile.lock")
      packages = Foy::RubyHandler.parse(file)
      @client.put_project_packages(system: 'rubygems', project_id: project.id, packages: packages)
    #rescue
      #TODO error handling
    ensure
      git_fetcher.clean_up
    end
  end
end

#update_packagesObject



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/foy_runner.rb', line 28

def update_packages
  packages = @client.get_packages(system: 'rubygems')

  updated_packages = packages.collect do |package|
    {
      name: package.name,
      version: Foy::RubyHandler.latest_version_for(package.name)
    }
  end

  @client.put_packages(system: 'rubygems', packages: updated_packages)
end