Module: PrivateGemServer

Defined in:
lib/private_gem_server.rb,
lib/private_gem_server/sanity.rb,
lib/private_gem_server/server.rb,
lib/private_gem_server/source.rb,
lib/private_gem_server/scanner.rb,
lib/private_gem_server/sources.rb,
lib/private_gem_server/version.rb,
lib/private_gem_server/source/git.rb

Defined Under Namespace

Modules: Sanity Classes: Scanner, Server, Source, Sources

Constant Summary collapse

VERSION =
'0.1.5'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject



29
30
31
# File 'lib/private_gem_server.rb', line 29

def logger
  @logger ||= Logger.new(STDOUT)
end

Class Method Details

.add(file) ⇒ Object



20
21
22
23
# File 'lib/private_gem_server.rb', line 20

def add(file)
  @gems = nil
  Geminabox::GemStore.create Geminabox::IncomingGem.new File.open(file, 'rb')
end

.gemsObject



25
26
27
# File 'lib/private_gem_server.rb', line 25

def gems
  @gems ||= Dir["#{Geminabox.data}/gems/*.gem"].group_by { |x| x[%r{(\w+(-\D\w*)*)[^/]+$}, 1] }.map { |k, v| [k, v.map { |z| z[/(\d+[\.\d+]*)\.gem$/, 1] }] }.to_h
end

.has(name, version) ⇒ Object



15
16
17
18
# File 'lib/private_gem_server.rb', line 15

def has(name, version)
  gem = gems[name]
  gem.include? version if gem
end