gemsonrails 0.2.0 → 0.3.0
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/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:
|