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 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)/']
@@ -1,7 +1,7 @@
1
1
  module GemsOnRails #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 2
4
+ MINOR = 3
5
5
  TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
@@ -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
- raise "No gem specified" unless gem_name = ENV['GEM']
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
- raise "No gem specified" unless gem_name = ENV['GEM']
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
- version ||= gem.version.version
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
- raise "No gem specified" unless gem_name = ENV['GEM']
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.2.0
7
- date: 2006-10-17 00:00:00 +02:00
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
- - lib/gemsonrails.rb
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: