Class: Gemirro::Configuration

Inherits:
Confstruct::Configuration
  • Object
show all
Defined in:
lib/gemirro/configuration.rb

Overview

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#ignored_gemsHash

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

Returns:

  • (Hash)


112
113
114
# File 'lib/gemirro/configuration.rb', line 112

def ignored_gems
  @ignored_gems
end

#loggerLogger

Returns the logger

Returns:

  • (Logger)


30
31
32
# File 'lib/gemirro/configuration.rb', line 30

def logger
  @logger
end

#mirror_directoryGemirro::MirrorDirectory (readonly)

Return mirror directory



94
95
96
# File 'lib/gemirro/configuration.rb', line 94

def mirror_directory
  @mirror_directory
end

#sourceObject

Returns the value of attribute source.



23
24
25
# File 'lib/gemirro/configuration.rb', line 23

def source
  @source
end

Class Method Details

.default_configuration_fileString

Returns default configuration file path

Returns:

  • (String)


57
58
59
# File 'lib/gemirro/configuration.rb', line 57

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

.marshal_identifierString

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

Returns:

  • (String)


67
68
69
# File 'lib/gemirro/configuration.rb', line 67

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

.marshal_versionString

Returns a String containing the Marshal version.

Returns:

  • (String)


85
86
87
# File 'lib/gemirro/configuration.rb', line 85

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

.template_directoryString

Returns the template path to init directory

Returns:

  • (String)


39
40
41
# File 'lib/gemirro/configuration.rb', line 39

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

.versions_fileString

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

Returns:

  • (String)


76
77
78
# File 'lib/gemirro/configuration.rb', line 76

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

.views_directoryString

Returns the views path to render templates

Returns:

  • (String)


48
49
50
# File 'lib/gemirro/configuration.rb', line 48

def self.views_directory
  File.expand_path('../../../views', __FILE__)
end

Instance Method Details

#define_source(name, url, &block) ⇒ Object

Define the source to mirror.

Parameters:

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


145
146
147
148
149
150
# File 'lib/gemirro/configuration.rb', line 145

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

  @source = source
end

#gems_directoryString

Returns gems directory

Returns:

  • (String)


103
104
105
# File 'lib/gemirro/configuration.rb', line 103

def gems_directory
  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)


122
123
124
125
# File 'lib/gemirro/configuration.rb', line 122

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)


134
135
136
# File 'lib/gemirro/configuration.rb', line 134

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