gem_tools 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore CHANGED
@@ -20,3 +20,4 @@ pkg
20
20
  *.gem
21
21
 
22
22
  ## PROJECT::SPECIFIC
23
+ Gemfile
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ == 0.2.5 2010-01-27
2
+ * add an option to generate a Gemfile
3
+
1
4
  == 0.2.4 2010-01-27
2
5
  * move to jeweler for packaging
3
6
  fix error when checking for updated gems
data/README.textile CHANGED
@@ -28,6 +28,11 @@ h3. Check to see if any of the gems in your app have newer versions
28
28
 
29
29
  gemtools check_updates
30
30
 
31
+ h3. Generate a Gemfile from your current gems.yml
32
+
33
+ gemtools to_gemfile
34
+
35
+
31
36
  Make sure they are loaded with the right versions during startup, by adding the
32
37
  following to your script or environment.rb (Rails)
33
38
 
data/README.txt CHANGED
@@ -28,6 +28,11 @@ h3. Check to see if any of the gems in your app have newer versions
28
28
 
29
29
  gemtools check_updates
30
30
 
31
+ h3. Generate a Gemfile from your current gems.yml
32
+
33
+ gemtools to_gemfile
34
+
35
+
31
36
  Make sure they are loaded with the right versions during startup, by adding the
32
37
  following to your script or environment.rb (Rails)
33
38
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4
1
+ 0.2.5
data/bin/gemtools CHANGED
@@ -38,6 +38,9 @@ Commands are:
38
38
 
39
39
  check_updates
40
40
  Checks to see if there are newer versions available for the gems
41
+
42
+ to_gemfile
43
+ Generate a Gemfile from your current gems.yml
41
44
 
42
45
  Options are:
43
46
  BANNER
data/config/gems.yml CHANGED
@@ -1,21 +1,164 @@
1
- # this is optional
2
- # source: http://local_mirror.example.com
3
- # gem_command: 'jruby -S gem'
4
1
  gems:
5
- - name: rake
6
- load: true
7
- version: 0.7.3
8
- - name: foo_gem
9
- version: 0.0.1
10
- load: true
11
- # - name: postgres
12
- # # the version to use
13
- # version: '0.7.1'
14
- # # this gem has a specfic source URL
15
- # source: 'http://mongrel.rubyforge.org/releases'
16
- # # this tells us to load not just install
17
- # load: true
18
- # # any extra config that needs to be passed to gem install
19
- # config: '--with-pgsql-include-dir=/usr/local/pgsql/include --with-pgsql-lib-dir=/usr/local/pgsql/lib'
20
- # # if the require name is different than the gem name
21
- # require_name: foo-bar
2
+ - name: 'authlogic'
3
+ version: '1.3.9'
4
+
5
+ - name: 'datanoise-actionwebservice'
6
+ version: '2.2.2'
7
+ require_name: 'actionwebservice'
8
+ source: 'http://gems.github.com/'
9
+
10
+ - name: 'fastercsv'
11
+ version: '1.5.0'
12
+
13
+ - name: 'GData'
14
+ version: '0.0.4'
15
+ require_name: 'gdata/spreadsheet'
16
+
17
+ - name: 'hpricot'
18
+ version: '0.8.2'
19
+
20
+ - name: 'httparty'
21
+ version: '0.5.0'
22
+
23
+ - name: 'newrelic_rpm'
24
+ version: '2.9.5'
25
+
26
+ - name: 'parseexcel'
27
+ version: '0.5.2'
28
+
29
+ - name: 'prawn'
30
+ version: '0.5.0.1'
31
+
32
+ - name: 'prawn-core'
33
+ version: '0.5.0.1'
34
+
35
+ - name: 'prawn-layout'
36
+ version: '0.2.0.1'
37
+
38
+ - name: 'rails'
39
+ version: '2.2.2'
40
+
41
+ - name: 'roo'
42
+ version: '1.2.3'
43
+
44
+ - name: 'rubaidh-google_analytics'
45
+ version: '1.1.4'
46
+ require_name: 'rubaidh/google_analytics'
47
+ source: 'http://gems.github.com/'
48
+
49
+ - name: 'aasm'
50
+ version: '2.0.5'
51
+
52
+ - name: 'rubyzip'
53
+ version: '0.9.1'
54
+ require_name: 'zip/zipfilesystem'
55
+
56
+ - name: 'serviceproxy'
57
+ version: '0.2.1'
58
+
59
+ - name: 'settingslogic'
60
+ version: '2.0.3'
61
+
62
+ - name: 'spreadsheet-excel'
63
+ version: '0.3.5.1'
64
+ require_name: 'spreadsheet/excel'
65
+
66
+ - name: 'thoughtbot-paperclip'
67
+ version: '2.2.7'
68
+ require_name: 'paperclip'
69
+
70
+ - name: 'will_paginate'
71
+ version: '2.2.2'
72
+
73
+ - name: 'inaction_mailer'
74
+ version: '0.6'
75
+ load: false
76
+
77
+ - name: 'capistrano-ext'
78
+ version: '1.2.1'
79
+ load: false
80
+
81
+ - name: 'chronic'
82
+ version: '0.2.3'
83
+ load: false
84
+
85
+ - name: 'whenever'
86
+ version: '0.3.7'
87
+ load: false
88
+
89
+ - name: 'soap4r'
90
+ version: '1.5.8'
91
+ load: false
92
+
93
+ - name: 'crack'
94
+ version: '0.1.4'
95
+ load: false
96
+
97
+ - name: 'ruby-debug'
98
+ version: '0.10.3'
99
+ load: false
100
+
101
+ - name: 'cucumber'
102
+ version: '0.6.2'
103
+ load: false
104
+
105
+ - name: 'cucumber-rails'
106
+ version: '0.2.4'
107
+ load: false
108
+
109
+ - name: 'database_cleaner'
110
+ version: '0.4.3'
111
+ load: false
112
+
113
+ - name: 'webrat'
114
+ version: '0.7.0'
115
+ load: false
116
+
117
+ - name: 'rspec'
118
+ version: '1.3.0'
119
+ load: false
120
+
121
+ - name: 'rspec-rails'
122
+ version: '1.3.2'
123
+ load: false
124
+
125
+ - name: 'launchy'
126
+ version: '0.3.5'
127
+ load: false
128
+
129
+ - name: 'mocha'
130
+ version: '0.9.5'
131
+ load: false
132
+
133
+ - name: 'machinist'
134
+ version: '1.0.6'
135
+ load: false
136
+
137
+ - name: 'shoulda'
138
+ version: '2.9.1'
139
+ load: false
140
+
141
+ - name: 'xml-simple'
142
+ version: '1.0.12'
143
+ load: false
144
+
145
+ - name: 'memcache'
146
+ version: '1.2.0'
147
+ load: false
148
+
149
+ - name: 'tzinfo'
150
+ version: '0.3.16'
151
+ load: false
152
+
153
+ - name: 'tmail'
154
+ version: '1.2.7.1'
155
+ load: false
156
+
157
+ - name: 'text-format'
158
+ version: '1.0.0'
159
+ load: false
160
+
161
+ - name: 'cwninja-inaction_mailer'
162
+ version: '0.6'
163
+ require_name: 'inaction_mailer'
164
+ load: false
data/gem_tools.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gem_tools}
8
- s.version = "0.2.4"
8
+ s.version = "0.2.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Moen"]
12
- s.date = %q{2010-01-27}
12
+ s.date = %q{2010-02-11}
13
13
  s.default_executable = %q{gemtools}
14
14
  s.description = %q{A lightweight tool to manage gems using a config file, similar to GemInstaller}
15
15
  s.email = %q{michael@underpantsgnome.com}
data/lib/gem_tools.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
+ require 'rubygems'
5
+ require 'ruby-debug'
6
+
4
7
  module GemTools
5
8
  extend self
6
9
 
@@ -39,6 +42,41 @@ module GemTools
39
42
  puts OPTS
40
43
  end
41
44
 
45
+ def to_gemfile
46
+ config = load_config
47
+
48
+ if File.exist?('Gemfile')
49
+ puts "GemFile already exists, not overwriting."
50
+ exit 1
51
+ end
52
+
53
+ no_load = config['gems'].collect { |gem| gem if gem['load'] == false }.compact
54
+ to_load = config['gems'].collect { |gem| gem unless gem['load'] == false }.compact
55
+
56
+ File.open('Gemfile', 'w+') do |f|
57
+ if config['source']
58
+ f.puts "source #{config['source']}"
59
+ else
60
+ f.puts "source :gemcutter"
61
+ f.puts "source 'http://gems.github.com/'"
62
+ end
63
+
64
+ f.puts ''
65
+
66
+ to_load.each do |gem|
67
+ f.puts bundler_gem_line(gem)
68
+ end
69
+
70
+ f.puts ''
71
+
72
+ f.puts 'group :no_load do'
73
+ no_load.each do |gem|
74
+ f.puts ' ' + bundler_gem_line(gem)
75
+ end
76
+ f.puts 'end'
77
+ end
78
+ end
79
+
42
80
  def load_config
43
81
  require 'yaml'
44
82
  require 'erb'
@@ -144,4 +182,12 @@ module GemTools
144
182
  puts "#{gem['name']} #{ver} is available, #{gem['version']} installed" if ver > gem['version']
145
183
  end
146
184
  end
185
+
186
+ private
187
+
188
+ def bundler_gem_line(gem)
189
+ line = "gem '#{gem['name']}', '#{gem['version']}'"
190
+ line += ", :require => '#{gem['require_name']}'" if gem['require_name']
191
+ line
192
+ end
147
193
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Moen
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-27 00:00:00 -06:00
12
+ date: 2010-02-11 00:00:00 -06:00
13
13
  default_executable: gemtools
14
14
  dependencies: []
15
15