Class: GeminstallerBuilder

Inherits:
Object
  • Object
show all
Includes:
GemHelper
Defined in:
lib/geminstaller_builder.rb

Overview

Convert a list of gems into a valid geminstaller.yml file.

Instance Method Summary collapse

Methods included from GemHelper

#gem_search, #gem_to_yaml, #gem_version

Constructor Details

#initialize(options = {}) ⇒ GeminstallerBuilder

Returns a new instance of GeminstallerBuilder.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/geminstaller_builder.rb', line 7

def initialize options={}
  options = {
    :env => :default,
    :gems => {
      :default    => [],
      :test       => []
    },
    :paths => {
      :default    => "config/geminstaller.yml",
      :test       => "config/test/geminstaller.yml"
  }
  }.merge(options)

  @gems  = options[:gems]
  @paths = options[:paths]
end

Instance Method Details

#add(gem, env = :default) ⇒ Object Also known as: <<



24
25
26
# File 'lib/geminstaller_builder.rb', line 24

def add gem, env=:default
  @gems[env.to_sym] << gem
end

#saveObject



30
31
32
33
34
35
36
37
38
# File 'lib/geminstaller_builder.rb', line 30

def save
  puts "\e[34m[ Saving Gems ]\e[0m"
  @gems.keys.each do |env|
    File.open(@paths[env], 'w') do |f|
      yaml_gems = @gems[env].map {|_g| gem_to_yaml(_g)}
      f.write "---\ndefaults:\n  install-options: '--no-rdoc --no-ri'\ngems:\n" + yaml_gems.join("\n")
    end
  end
end