class Registry::Gem

def download

def download
  # Don't download the gem if it's already installed
  extension = gem_name(filename)
  begin
    gem extension
  rescue ::Gem::LoadError
    super
    `gem install #{extension}`
  end
end

def gem_name(name)

def gem_name(name)
  name.gsub(/-\d+\.\d+\.\d+(.+)?\.gem/, '')
end

def unpack

def unpack
  output = nil
  cd(Dir.tmpdir) do
    output = `gem unpack #{gem_name(filename)}`
  end
  self.path = output.match(/'(.*)'/)[1]
end