class Gemirro::Configuration
Configuration
class used for storing data about a mirror such as the destination directory, source, ignored Gems, etc.
Constants
- LOGGER_LEVEL
Attributes
Public Class Methods
Source
# File lib/gemirro/configuration.rb, line 83 def self.default_configuration_file File.expand_path('config.rb', Dir.pwd) end
Returns default configuration file path
@return [String]
Source
# File lib/gemirro/configuration.rb, line 93 def self.marshal_identifier "Marshal.#{marshal_version}" end
Returns the name of the directory that contains the quick specification files.
@return [String]
Source
# File lib/gemirro/configuration.rb, line 113 def self.marshal_version "#{Marshal::MAJOR_VERSION}.#{Marshal::MINOR_VERSION}" end
Returns a String containing the Marshal version.
@return [String]
Source
# File lib/gemirro/configuration.rb, line 65 def self.template_directory File.expand_path('../../../template', __FILE__) end
Returns the template path to init directory
@return [String]
Source
# File lib/gemirro/configuration.rb, line 74 def self.views_directory File.expand_path('../../../views', __FILE__) end
Returns the views path to render templates
@return [String]
Public Instance Methods
Source
# File lib/gemirro/configuration.rb, line 196 def define_source(name, url, &block) source = Source.new(name, url) source.instance_eval(&block) @source = source end
Define the source to mirror.
@param [String] name @param [String] url @param [Proc] block
Source
# File lib/gemirro/configuration.rb, line 131 def gems_directory File.join(destination.to_s, 'gems') end
Returns gems directory
@return [String]
Source
# File lib/gemirro/configuration.rb, line 149 def gemspecs_directory File.join(destination.to_s, 'quick', self.class.marshal_identifier) end
Returns gems directory
@return [String]
Source
# File lib/gemirro/configuration.rb, line 168 def ignore_gem(name, version, platform) ignored_gems[platform] ||= {} ignored_gems[platform][name] ||= [] ignored_gems[platform][name] << version end
Adds a Gem
to the list of Gems to ignore.
@param [String] name @param [String] version
Source
# File lib/gemirro/configuration.rb, line 181 def ignore_gem?(name, version, platform) if ignored_gems[platform][name] ignored_gems[platform][name].include?(version) else false end end
Checks if a Gem
should be ignored.
@param [String] name @param [String] version @return [TrueClass|FalseClass]
Source
# File lib/gemirro/configuration.rb, line 158 def ignored_gems @ignored_gems ||= Hash.new { |hash, key| hash[key] = {} } end
Returns a Hash containing various Gems to ignore and their versions.
@return [Hash]
Source
# File lib/gemirro/configuration.rb, line 44 def logger @logger ||= Logger.new($stdout) end
Returns the logger
@return [Logger]
Source
# File lib/gemirro/configuration.rb, line 55 def logger_level=(level) logger.level = LOGGER_LEVEL[level] if LOGGER_LEVEL.key?(level) logger end
Set log level
@param [string]
@return [Logger]
Source
# File lib/gemirro/configuration.rb, line 122 def mirror_gems_directory @mirror_gems_directory ||= MirrorDirectory.new(gems_directory) end
Return mirror directory
@return [Gemirro::MirrorDirectory]
Source
# File lib/gemirro/configuration.rb, line 140 def mirror_gemspecs_directory @mirror_gemspecs_directory ||= MirrorDirectory.new(gemspecs_directory) end
Return mirror directory
@return [Gemirro::MirrorDirectory]
Source
# File lib/gemirro/configuration.rb, line 102 def versions_file return unless @source File.expand_path("#{URI.parse(@source.host).host.gsub('.', '_')}_versions", destination.to_s) end
Returns the name of the file that contains an index of all the versions.
@return [String]