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 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: