class GemMirror::Configuration
Configuration
class used for storing data about a mirror such as the destination directory, sources, ignored Gems, etc.
Public Class Methods
@return [String]
# File lib/gem_mirror/configuration.rb 39 def self.default_configuration_file 40 File.expand_path("config.rb", Dir.pwd) 41 end
Returns the name of the directory that contains the quick specification files.
@return [String]
# File lib/gem_mirror/configuration.rb 49 def self.marshal_identifier 50 "Marshal.#{marshal_version}" 51 end
Returns a String containing the Marshal version.
@return [String]
# File lib/gem_mirror/configuration.rb 67 def self.marshal_version 68 "#{Marshal::MAJOR_VERSION}.#{Marshal::MINOR_VERSION}" 69 end
@return [String]
# File lib/gem_mirror/configuration.rb 32 def self.template_directory 33 File.expand_path("../../template", __dir__) 34 end
Returns the name of the file that contains an index of all the versions.
@return [String]
# File lib/gem_mirror/configuration.rb 58 def self.versions_file 59 "specs.#{marshal_version}.gz" 60 end
Public Instance Methods
@return [String]
# File lib/gem_mirror/configuration.rb 81 def gems_directory 82 File.join(destination, "gems") 83 end
Adds a Gem
to the list of Gems to ignore.
@param [String] name @param [String] version
# File lib/gem_mirror/configuration.rb 100 def ignore_gem(name, version) 101 ignored_gems[name] ||= [] 102 ignored_gems[name] << version 103 end
Checks if a Gem
should be ignored.
@param [String] name @param [String] version @return [TrueClass|FalseClass]
# File lib/gem_mirror/configuration.rb 112 def ignore_gem?(name, version) 113 ignored_gems[name].include?(version) 114 end
Returns a Hash containing various Gems to ignore and their versions.
@return [Hash]
# File lib/gem_mirror/configuration.rb 90 def ignored_gems 91 @ignored_gems ||= Hash.new { |hash, key| hash[key] = [] } 92 end
@return [Logger]
# File lib/gem_mirror/configuration.rb 20 def logger 21 @logger = Logger.new($stdout, 22 progname: "gem_mirror", 23 formatter: proc do |severity, datetime, progname, msg| 24 d_format = datetime.strftime("%Y%m%dT%H%M%S%z") 25 "[#{d_format}] severity=#{severity} prog=#{progname} pid=#{Process.pid} message=#{msg}\n" 26 end) 27 end
@return [GemMirror::MirrorDirectory]
# File lib/gem_mirror/configuration.rb 74 def mirror_directory 75 @mirror_directory ||= MirrorDirectory.new(gems_directory) 76 end
Adds a new source to mirror.
@param [String] name @param [String] url @param [Proc] block @yieldparam [GemMirror::Source] source
# File lib/gem_mirror/configuration.rb 133 def source(name, url, &block) 134 source = Source.new(name, url) 135 source.instance_eval(&block) 136 137 sources << source 138 end
Returns a list of sources to mirror.
@return [Array]
# File lib/gem_mirror/configuration.rb 121 def sources 122 @sources ||= [] 123 end