module GemOnDemand

Constants

HEAVY_FORKED
VERSION

Public Class Methods

build_gem(user, project, version) click to toggle source
# File lib/gem_on_demand.rb, line 11
def build_gem(user, project, version)
  checkout = Checkout.new(user, project)
  checkout.chdir do
    Project.new(user, project, checkout.cache).build_gem(version)
  end
end
dependencies(user, gems) click to toggle source
# File lib/gem_on_demand.rb, line 18
def dependencies(user, gems)
  (gems - HEAVY_FORKED).map do |project|
    checkout = Checkout.new(user, project)
    begin
      checkout.chdir do
        Project.new(user, project, checkout.cache).dependencies
      end
    rescue Checkout::NotFound
      []
    end
  end.flatten
end
expire(user, project) click to toggle source

expire update related caches so next run gets fresh tags + versions

# File lib/gem_on_demand.rb, line 32
def expire(user, project)
  checkout = Checkout.new(user, project)
  [
    Checkout::UPDATED_AT,
    Checkout::NOT_FOUND,
    Project::DEPENDENCIES
  ].each do |key|
    checkout.cache.delete key
  end
end