rake_plugins 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module RakePlugins
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3" unless defined? RakePlugins::VERSION
3
3
  end
@@ -0,0 +1,64 @@
1
+ require 'yaml'
2
+
3
+ namespace :plugin do
4
+ desc "Install a plugin"
5
+ task :install, :source do |t, args|
6
+ name = File.basename(args.source).split('.').first
7
+ raise "Plugin could not be installed from #{args.source}" unless system "bundle exec rails plugin install #{args.source} -f"
8
+
9
+ installed_plugins = File.exist?("vendor/installed_plugins.yml") ?
10
+ File.open("vendor/installed_plugins.yml") { |f| YAML::load(f) } : {}
11
+ installed_plugins[name] = args.source
12
+ File.open('vendor/installed_plugins.yml', 'w') { |f| YAML.dump(installed_plugins, f) }
13
+
14
+ puts "Installed plugin #{name} from #{args.source}\n"
15
+ end
16
+
17
+ desc "Update an installed plugin"
18
+ task :update, :name do |t, args|
19
+ installed_plugins = File.exist?("vendor/installed_plugins.yml") ?
20
+ File.open("vendor/installed_plugins.yml") { |f| YAML::load(f) } : {}
21
+ raise "Plugin #{args.name} is not installed" unless installed_plugins.has_key?(args.name)
22
+ system "bundle exec rails plugin install #{installed_plugins[args.name]} -f"
23
+ puts "Updated plugin #{args.name} from #{installed_plugins[args.name]}\n"
24
+ end
25
+
26
+ desc "List installed plugins"
27
+ task :list do
28
+ installed_plugins = File.exist?("vendor/installed_plugins.yml") ?
29
+ File.open("vendor/installed_plugins.yml") { |f| YAML::load(f) } : {}
30
+ puts installed_plugins.any? ? "Installed plugins:\n\n" : "No plugins installed\n"
31
+ installed_plugins.each { |name, source| puts " * #{name} (#{source})\n" }
32
+
33
+ unmanaged_plugins = Dir["vendor/plugins/*"].map { |path| File.basename(path) } - installed_plugins.keys
34
+ puts "\nThe following plugins are not being managed: #{unmanaged_plugins.join(", ")}\n" if unmanaged_plugins.any?
35
+ end
36
+
37
+ desc "Update installed plugins"
38
+ task :update_all do
39
+ installed_plugins = File.exist?("vendor/installed_plugins.yml") ?
40
+ File.open("vendor/installed_plugins.yml") { |f| YAML::load(f) } : {}
41
+ puts "No plugins to update\n" if installed_plugins.empty?
42
+ installed_plugins.each do |name, source|
43
+ puts "Updating plugin #{name} from #{source}...\n"
44
+ system "bundle exec rails plugin install #{source} -f"
45
+ end
46
+
47
+ unmanaged_plugins = Dir["vendor/plugins/*"].map { |path| File.basename(path) } - installed_plugins.keys
48
+ puts "\nThe following plugins are not being managed: #{unmanaged_plugins.join(", ")}\n" if unmanaged_plugins.any?
49
+ end
50
+
51
+ desc "Remove installed plugin"
52
+ task :remove, :name do |t, args|
53
+ installed_plugins = File.exist?("vendor/installed_plugins.yml") ?
54
+ File.open("vendor/installed_plugins.yml") { |f| YAML::load(f) } : {}
55
+ raise "Plugin #{args.name} is not installed" unless installed_plugins.has_key?(args.name)
56
+ if system("bundle exec rails plugin remove #{args.name}")
57
+ installed_plugins.delete(args.name)
58
+ File.open('vendor/installed_plugins.yml', 'w') { |f| YAML.dump(installed_plugins, f) }
59
+ puts "Plugin #{args.name} removed\n"
60
+ else
61
+ "Plugin #{args.name} could not be removed\n"
62
+ end
63
+ end
64
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_plugins
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nick Ragaz
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-07 00:00:00 -04:00
18
+ date: 2010-06-11 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -31,6 +31,7 @@ extra_rdoc_files: []
31
31
  files:
32
32
  - lib/rake_plugins/version.rb
33
33
  - lib/rake_plugins.rb
34
+ - lib/tasks/plugins.rake
34
35
  - README.md
35
36
  has_rdoc: true
36
37
  homepage: http://github.com/nragaz/rake_plugins