Class: GemMirror::Configuration

Inherits:
Confstruct::Configuration
  • Object
show all
Defined in:
lib/gem-mirror/configuration.rb

Overview

Configuration class used for storing data about a mirror such as the destination directory, sources, ignored Gems, etc.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.default_configuration_fileString

Returns:

  • (String)


31
32
33
# File 'lib/gem-mirror/configuration.rb', line 31

def self.default_configuration_file
  return File.expand_path('config.rb', Dir.pwd)
end

.marshal_identifierString

Returns the name of the directory that contains the quick specification files.

Returns:

  • (String)


41
42
43
# File 'lib/gem-mirror/configuration.rb', line 41

def self.marshal_identifier
  return "Marshal.#{marshal_version}"
end

.marshal_versionString

Returns a String containing the Marshal version.

Returns:

  • (String)


59
60
61
# File 'lib/gem-mirror/configuration.rb', line 59

def self.marshal_version
  return "#{Marshal::MAJOR_VERSION}.#{Marshal::MINOR_VERSION}"
end

.template_directoryString

Returns:

  • (String)


24
25
26
# File 'lib/gem-mirror/configuration.rb', line 24

def self.template_directory
  return File.expand_path('../../../template', __FILE__)
end

.versions_fileString

Returns the name of the file that contains an index of all the versions.

Returns:

  • (String)


50
51
52
# File 'lib/gem-mirror/configuration.rb', line 50

def self.versions_file
  return "specs.#{marshal_version}.gz"
end

Instance Method Details

#gems_directoryString

Returns:

  • (String)


73
74
75
# File 'lib/gem-mirror/configuration.rb', line 73

def gems_directory
  return File.join(destination, 'gems')
end

#ignore_gem(name, version) ⇒ Object

Adds a Gem to the list of Gems to ignore.

Parameters:

  • name (String)
  • version (String)


92
93
94
95
# File 'lib/gem-mirror/configuration.rb', line 92

def ignore_gem(name, version)
  ignored_gems[name] ||= []
  ignored_gems[name] << version
end

#ignore_gem?(name, version) ⇒ TrueClass|FalseClass

Checks if a Gem should be ignored.

Parameters:

  • name (String)
  • version (String)

Returns:

  • (TrueClass|FalseClass)


104
105
106
# File 'lib/gem-mirror/configuration.rb', line 104

def ignore_gem?(name, version)
  return ignored_gems[name].include?(version)
end

#ignored_gemsHash

Returns a Hash containing various Gems to ignore and their versions.

Returns:

  • (Hash)


82
83
84
# File 'lib/gem-mirror/configuration.rb', line 82

def ignored_gems
  return @ignored_gems ||= Hash.new { |hash, key| hash[key] = [] }
end

#loggerLogger

Returns:

  • (Logger)


17
18
19
# File 'lib/gem-mirror/configuration.rb', line 17

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

#mirror_directoryGemMirror::MirrorDirectory



66
67
68
# File 'lib/gem-mirror/configuration.rb', line 66

def mirror_directory
  return @mirror_directory ||= MirrorDirectory.new(gems_directory)
end

#source(name, url, &block) {|source| ... } ⇒ Object

Adds a new source to mirror.

Parameters:

  • name (String)
  • url (String)
  • block (Proc)

Yield Parameters:



125
126
127
128
129
130
# File 'lib/gem-mirror/configuration.rb', line 125

def source(name, url, &block)
  source = Source.new(name, url)
  source.instance_eval(&block)

  sources << source
end

#sourcesArray

Returns a list of sources to mirror.

Returns:

  • (Array)


113
114
115
# File 'lib/gem-mirror/configuration.rb', line 113

def sources
  return @sources ||= []
end