gemsonrails 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +7 -0
- data/Rakefile +2 -0
- data/lib/gemsonrails/version.rb +1 -1
- data/templates/tasks_gems_freeze.rake +24 -3
- data/templates/tasks_gems_link.rake +11 -3
- data/templates/tasks_gems_unfreeze.rake +10 -1
- metadata +8 -8
data/README
CHANGED
@@ -1,3 +1,10 @@
|
|
1
1
|
README for gems_to_rails
|
2
2
|
========================
|
3
3
|
|
4
|
+
Go to your rails app folder, run 'gemsonrails'.
|
5
|
+
|
6
|
+
Then run either:
|
7
|
+
|
8
|
+
'rake gems:freeze GEM=<gemname> [VERSION=<versionnum>]' to freeze a gem, or
|
9
|
+
'rake gems:link GEM=<gemname>' to link to whatever latest gem release is available at runtime.
|
10
|
+
|
data/Rakefile
CHANGED
@@ -14,6 +14,7 @@ EMAIL = "drnicwilliams@gmail.com"
|
|
14
14
|
DESCRIPTION = "Link or freeze RubyGems into your rails apps, instead of plugins"
|
15
15
|
HOMEPATH = 'http://gemsonrails.rubyforge.org'
|
16
16
|
BIN_FILES = %w( gemsonrails )
|
17
|
+
RUBYFORGE_PROJECT = 'gemsonrails'
|
17
18
|
|
18
19
|
|
19
20
|
NAME = "gemsonrails"
|
@@ -39,6 +40,7 @@ spec =
|
|
39
40
|
s.name = NAME
|
40
41
|
s.version = VERS
|
41
42
|
s.platform = Gem::Platform::RUBY
|
43
|
+
s.rubyforge_project = RUBYFORGE_PROJECT
|
42
44
|
s.has_rdoc = true
|
43
45
|
s.extra_rdoc_files = ["README", "CHANGELOG"]
|
44
46
|
s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/']
|
data/lib/gemsonrails/version.rb
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
namespace :gems do
|
2
2
|
desc "Freeze a RubyGem into this Rails application; init.rb will be loaded on startup."
|
3
3
|
task :freeze do
|
4
|
-
|
5
|
-
|
4
|
+
unless gem_name
|
5
|
+
puts <<-eos
|
6
|
+
Parameters:
|
7
|
+
GEM Name of gem (required)
|
8
|
+
VERSION Version of gem to freeze (optional)
|
9
|
+
|
10
|
+
eos
|
11
|
+
break
|
12
|
+
end
|
13
|
+
|
6
14
|
require 'rubygems'
|
7
15
|
Gem.manage_gems
|
8
16
|
|
@@ -24,7 +32,20 @@ namespace :gems do
|
|
24
32
|
|
25
33
|
chdir gems_dir, :verbose => false do
|
26
34
|
mkdir_p target_dir, :verbose => false
|
27
|
-
Gem::Installer.new(path).unpack(target_dir)
|
35
|
+
(gem = Gem::Installer.new(path)).unpack(target_dir)
|
36
|
+
chdir target_dir, :verbose => false do
|
37
|
+
# TODO
|
38
|
+
#require 'pp'
|
39
|
+
#pp gem
|
40
|
+
#pp gem.methods.sort
|
41
|
+
if !File.exists?('init.rb') #&& gem.autorequire
|
42
|
+
File.open('init.rb', 'w') do |file|
|
43
|
+
file << <<-eos
|
44
|
+
#require something
|
45
|
+
eos
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
28
49
|
puts "Unpacked #{gem_name} #{version} to '#{target_dir}'"
|
29
50
|
end
|
30
51
|
end
|
@@ -1,7 +1,16 @@
|
|
1
1
|
namespace :gems do
|
2
2
|
desc "Link a RubyGem into this Rails application; init.rb will be loaded on startup."
|
3
3
|
task :link do
|
4
|
-
|
4
|
+
gem_name = ENV['GEM']
|
5
|
+
unless gem_name
|
6
|
+
puts <<-eos
|
7
|
+
Parameters:
|
8
|
+
GEM Name of gem (required)
|
9
|
+
|
10
|
+
|
11
|
+
eos
|
12
|
+
break
|
13
|
+
end
|
5
14
|
|
6
15
|
require 'rubygems'
|
7
16
|
Gem.manage_gems
|
@@ -37,8 +46,7 @@ eos
|
|
37
46
|
require 'rubygems'
|
38
47
|
Gem.manage_gems
|
39
48
|
gem = Gem.cache.search('#{gem.name}').sort_by { |g| g.version }.last
|
40
|
-
|
41
|
-
path = Gem::UnpackCommand.new.get_path(gem.name, version)
|
49
|
+
path = gem.full_gem_path
|
42
50
|
Dir[File.join(path, "/**/tasks/**/*.rake")].sort.each { |ext| load ext }
|
43
51
|
eos
|
44
52
|
end
|
@@ -1,7 +1,16 @@
|
|
1
1
|
namespace :gems do
|
2
2
|
desc "Unfreeze/unlink a RubyGem from this Rails application"
|
3
3
|
task :unfreeze do
|
4
|
-
|
4
|
+
gem_name = ENV['GEM']
|
5
|
+
unless gem_name
|
6
|
+
puts <<-eos
|
7
|
+
Parameters:
|
8
|
+
GEM Name of gem (required)
|
9
|
+
|
10
|
+
|
11
|
+
eos
|
12
|
+
break
|
13
|
+
end
|
5
14
|
Dir["vendor/gems/#{gem_name}*"].each { |d| rm_rf d }
|
6
15
|
end
|
7
16
|
end
|
metadata
CHANGED
@@ -3,14 +3,14 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: gemsonrails
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2006-10-
|
6
|
+
version: 0.3.0
|
7
|
+
date: 2006-10-22 00:00:00 +02:00
|
8
8
|
summary: Link or freeze RubyGems into your rails apps, instead of plugins
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: drnicwilliams@gmail.com
|
12
12
|
homepage: http://gemsonrails.rubyforge.org
|
13
|
-
rubyforge_project:
|
13
|
+
rubyforge_project: gemsonrails
|
14
14
|
description: Link or freeze RubyGems into your rails apps, instead of plugins
|
15
15
|
autorequire:
|
16
16
|
default_executable:
|
@@ -32,17 +32,17 @@ files:
|
|
32
32
|
- CHANGELOG
|
33
33
|
- Rakefile
|
34
34
|
- bin/gemsonrails
|
35
|
-
- test/all_tests.rb
|
36
|
-
- test/gems_to_rails_test.rb
|
37
35
|
- test/test_helper.rb
|
38
|
-
-
|
36
|
+
- test/gems_to_rails_test.rb
|
37
|
+
- test/all_tests.rb
|
39
38
|
- lib/gemsonrails
|
39
|
+
- lib/gemsonrails.rb
|
40
40
|
- lib/gemsonrails/version.rb
|
41
|
-
- templates/init.rb
|
42
41
|
- templates/tasks_gems_freeze.rake
|
43
|
-
- templates/tasks_gems_link.rake
|
44
42
|
- templates/tasks_gems_unfreeze.rake
|
43
|
+
- templates/init.rb
|
45
44
|
- templates/tasks_load_tasks_in_gems.rake
|
45
|
+
- templates/tasks_gems_link.rake
|
46
46
|
test_files: []
|
47
47
|
|
48
48
|
rdoc_options:
|