newplugin 0.0.3 → 0.0.4

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.
Files changed (44) hide show
  1. data/Manifest.txt +36 -34
  2. data/bin/newplugin-gen +4 -4
  3. data/lib/newplugin.rb +1 -1
  4. data/newplugin_generators/app/USAGE +5 -0
  5. data/{generators → newplugin_generators}/app/app_generator.rb +1 -2
  6. data/{generators → newplugin_generators}/app/templates/MIT-LICENSE +0 -0
  7. data/{generators → newplugin_generators}/app/templates/README +0 -0
  8. data/{generators → newplugin_generators}/app/templates/Rakefile +0 -0
  9. data/{generators → newplugin_generators}/app/templates/init.rb +0 -0
  10. data/{generators → newplugin_generators}/app/templates/install.rb +0 -0
  11. data/{generators → newplugin_generators}/app/templates/lib/module.rb +0 -0
  12. data/{generators → newplugin_generators}/app/templates/tasks/tasks.rake +0 -0
  13. data/{generators → newplugin_generators}/app/templates/test/app_root/app/controllers/application.rb +0 -0
  14. data/{generators → newplugin_generators}/app/templates/test/app_root/app/controllers/application_controller.rb +0 -0
  15. data/{generators → newplugin_generators}/app/templates/test/app_root/config/boot.rb +0 -0
  16. data/{generators → newplugin_generators}/app/templates/test/app_root/config/database.yml +0 -0
  17. data/{generators → newplugin_generators}/app/templates/test/app_root/config/environment.rb +0 -0
  18. data/{generators → newplugin_generators}/app/templates/test/app_root/config/environments/in_memory.rb +0 -0
  19. data/{generators → newplugin_generators}/app/templates/test/app_root/config/environments/mysql.rb +0 -0
  20. data/{generators → newplugin_generators}/app/templates/test/app_root/config/environments/postgresql.rb +0 -0
  21. data/{generators → newplugin_generators}/app/templates/test/app_root/config/environments/sqlite.rb +0 -0
  22. data/{generators → newplugin_generators}/app/templates/test/app_root/config/environments/sqlite3.rb +0 -0
  23. data/{generators → newplugin_generators}/app/templates/test/app_root/config/initializers/plugin.rb +0 -0
  24. data/{generators → newplugin_generators}/app/templates/test/app_root/config/routes.rb +0 -0
  25. data/{generators → newplugin_generators}/app/templates/test/test_helper.rb +0 -0
  26. data/{generators → newplugin_generators}/app/templates/uninstall.rb +0 -0
  27. data/newplugin_generators/controller/USAGE +5 -0
  28. data/{generators → newplugin_generators}/controller/controller_generator.rb +11 -3
  29. data/{generators → newplugin_generators}/controller/templates/controller.rb +0 -0
  30. data/newplugin_generators/migration/USAGE +4 -0
  31. data/{generators → newplugin_generators}/migration/migration_generator.rb +8 -0
  32. data/{generators → newplugin_generators}/migration/templates/migration.rb +0 -0
  33. data/newplugin_generators/model/USAGE +15 -0
  34. data/{generators → newplugin_generators}/model/model_generator.rb +8 -0
  35. data/{generators → newplugin_generators}/model/templates/fixtures.yml +0 -0
  36. data/{generators → newplugin_generators}/model/templates/migration.rb +2 -0
  37. data/{generators → newplugin_generators}/model/templates/model.rb +0 -0
  38. data/newplugin_generators/scaffold/USAGE +19 -0
  39. data/newplugin_generators/scaffold/scaffold_generator.rb +25 -0
  40. metadata +37 -35
  41. data/generators/app/USAGE +0 -5
  42. data/generators/controller/USAGE +0 -2
  43. data/generators/migration/USAGE +0 -2
  44. data/generators/model/USAGE +0 -2
@@ -3,41 +3,43 @@ Manifest.txt
3
3
  README.rdoc
4
4
  Rakefile
5
5
  bin/newplugin-gen
6
- generators/app/USAGE
7
- generators/app/app_generator.rb
8
- generators/app/templates/MIT-LICENSE
9
- generators/app/templates/README
10
- generators/app/templates/Rakefile
11
- generators/app/templates/init.rb
12
- generators/app/templates/install.rb
13
- generators/app/templates/lib/module.rb
14
- generators/app/templates/tasks/tasks.rake
15
- generators/app/templates/test/app_root/app/controllers/application.rb
16
- generators/app/templates/test/app_root/app/controllers/application_controller.rb
17
- generators/app/templates/test/app_root/config/boot.rb
18
- generators/app/templates/test/app_root/config/database.yml
19
- generators/app/templates/test/app_root/config/environment.rb
20
- generators/app/templates/test/app_root/config/environments/in_memory.rb
21
- generators/app/templates/test/app_root/config/environments/mysql.rb
22
- generators/app/templates/test/app_root/config/environments/postgresql.rb
23
- generators/app/templates/test/app_root/config/environments/sqlite.rb
24
- generators/app/templates/test/app_root/config/environments/sqlite3.rb
25
- generators/app/templates/test/app_root/config/initializers/plugin.rb
26
- generators/app/templates/test/app_root/config/routes.rb
27
- generators/app/templates/test/test_helper.rb
28
- generators/app/templates/uninstall.rb
29
- generators/controller/USAGE
30
- generators/controller/controller_generator.rb
31
- generators/controller/templates/controller.rb
32
- generators/migration/USAGE
33
- generators/migration/migration_generator.rb
34
- generators/migration/templates/migration.rb
35
- generators/model/USAGE
36
- generators/model/model_generator.rb
37
- generators/model/templates/fixtures.yml
38
- generators/model/templates/migration.rb
39
- generators/model/templates/model.rb
40
6
  lib/newplugin.rb
7
+ newplugin_generators/app/USAGE
8
+ newplugin_generators/app/app_generator.rb
9
+ newplugin_generators/app/templates/MIT-LICENSE
10
+ newplugin_generators/app/templates/README
11
+ newplugin_generators/app/templates/Rakefile
12
+ newplugin_generators/app/templates/init.rb
13
+ newplugin_generators/app/templates/install.rb
14
+ newplugin_generators/app/templates/lib/module.rb
15
+ newplugin_generators/app/templates/tasks/tasks.rake
16
+ newplugin_generators/app/templates/test/app_root/app/controllers/application.rb
17
+ newplugin_generators/app/templates/test/app_root/app/controllers/application_controller.rb
18
+ newplugin_generators/app/templates/test/app_root/config/boot.rb
19
+ newplugin_generators/app/templates/test/app_root/config/database.yml
20
+ newplugin_generators/app/templates/test/app_root/config/environment.rb
21
+ newplugin_generators/app/templates/test/app_root/config/environments/in_memory.rb
22
+ newplugin_generators/app/templates/test/app_root/config/environments/mysql.rb
23
+ newplugin_generators/app/templates/test/app_root/config/environments/postgresql.rb
24
+ newplugin_generators/app/templates/test/app_root/config/environments/sqlite.rb
25
+ newplugin_generators/app/templates/test/app_root/config/environments/sqlite3.rb
26
+ newplugin_generators/app/templates/test/app_root/config/initializers/plugin.rb
27
+ newplugin_generators/app/templates/test/app_root/config/routes.rb
28
+ newplugin_generators/app/templates/test/test_helper.rb
29
+ newplugin_generators/app/templates/uninstall.rb
30
+ newplugin_generators/controller/USAGE
31
+ newplugin_generators/controller/controller_generator.rb
32
+ newplugin_generators/controller/templates/controller.rb
33
+ newplugin_generators/migration/USAGE
34
+ newplugin_generators/migration/migration_generator.rb
35
+ newplugin_generators/migration/templates/migration.rb
36
+ newplugin_generators/model/USAGE
37
+ newplugin_generators/model/model_generator.rb
38
+ newplugin_generators/model/templates/fixtures.yml
39
+ newplugin_generators/model/templates/migration.rb
40
+ newplugin_generators/model/templates/model.rb
41
+ newplugin_generators/scaffold/USAGE
42
+ newplugin_generators/scaffold/scaffold_generator.rb
41
43
  test/test_generator_helper.rb
42
44
  test/test_helper.rb
43
45
  test/test_new_plugin.rb
@@ -13,8 +13,9 @@ if %w(-v --version).include? ARGV.first
13
13
  exit(0)
14
14
  end
15
15
 
16
- generator = ARGV[0]
17
- generators = Dir[File.join(File.dirname(__FILE__), "../generators/*")].map {|f| File.basename(f) }
16
+ generator = ARGV[0]
17
+ generators_path = File.join(File.dirname(__FILE__), "../newplugin_generators")
18
+ generators = Dir[File.join(generators_path,'*')].map {|f| File.basename(f) }
18
19
 
19
20
  unless generators.include?(generator)
20
21
  puts <<-DOC
@@ -27,7 +28,6 @@ unless generators.include?(generator)
27
28
  end
28
29
 
29
30
  require 'rubigen/scripts/generate'
30
- source = RubiGen::PathSource.new(:application,File.join(File.dirname(__FILE__), "../generators"))
31
31
  RubiGen::Base.reset_sources
32
- RubiGen::Base.append_sources source
32
+ RubiGen::Base.append_sources RubiGen::PathSource.new(:application,generators_path)
33
33
  RubiGen::Scripts::Generate.new.run(ARGV[1..-1], :generator => generator)
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  module Newplugin
5
- VERSION = '0.0.3'
5
+ VERSION = '0.0.4'
6
6
  end
@@ -0,0 +1,5 @@
1
+ Description:
2
+ Stubs out a new plugin. Pass the plugin name, either CamelCased or under_scored
3
+
4
+ Example:
5
+ `newplugin-gen app myNewPlugin`
@@ -45,9 +45,8 @@ class AppGenerator < RubiGen::Base
45
45
  protected
46
46
  def banner
47
47
  <<-EOS
48
- Creates a new plugin
48
+ USAGE: #{File.basename($0)} #{spec.name} PluginName [options]
49
49
 
50
- USAGE: #{spec.name} name
51
50
  EOS
52
51
  end
53
52
  end
@@ -0,0 +1,5 @@
1
+ Description:
2
+ Stubs out a new controller.pass the controller name,either CamelCased or under_scored
3
+
4
+ Example:
5
+ `newplugin-gen controller CreditCard open debit credit close
@@ -9,14 +9,22 @@ class ControllerGenerator < RubiGen::Base
9
9
  @name = args.shift
10
10
  @actions = args
11
11
 
12
- @file_name = @name.pluralize.underscore
13
- @class_name = @name.singularize.classify
12
+ @file_name = @name.underscore
13
+ @class_name = @name.pluralize == @name ? @name.classify.pluralize : @name.classify
14
14
  end
15
15
 
16
16
  def manifest
17
17
  record do |m|
18
- m.directory "test/app_root/app/controllers"
18
+ m.directory File.dirname("test/app_root/app/controllers/#{file_name}")
19
19
  m.template "controller.rb","test/app_root/app/controllers/#{file_name}_controller.rb"
20
20
  end
21
21
  end
22
+
23
+ protected
24
+ def banner
25
+ <<-EOS
26
+ USAGE: #{File.basename($0)} #{spec.name} ControllerName [action] [action] [options]
27
+
28
+ EOS
29
+ end
22
30
  end
@@ -0,0 +1,4 @@
1
+ Description:
2
+ Stubs out a new database migration. Pass the migration name, either CamelCased or under_scored.
3
+
4
+ A migration class is generated in db/migrate prefixed by a timestamp of the current date and time.
@@ -19,4 +19,12 @@ class MigrationGenerator < RubiGen::Base
19
19
  m.migration_template 'migration.rb', "test/app_root/db/migrate"
20
20
  end
21
21
  end
22
+
23
+ protected
24
+ def banner
25
+ <<-EOS
26
+ USAGE: #{File.basename($0)} #{spec.name} MigrationName [options]
27
+
28
+ EOS
29
+ end
22
30
  end
@@ -0,0 +1,15 @@
1
+ Description:
2
+ Stubs out a new model. Pass the model name, either CamelCased or
3
+ under_scored, and an optional list of attribute pairs as arguments.
4
+
5
+ Attribute pairs are column_name:sql_type arguments specifying the
6
+ model's attributes. Timestamps are added by default, so you don't have to
7
+ specify them by hand as 'created_at:datetime updated_at:datetime'.
8
+
9
+ You don't have to think up every attribute up front, but it helps to
10
+ sketch out a few so you can start working with the model immediately.
11
+
12
+ Examples:
13
+ `newplugin-gen model account`
14
+
15
+ `newplugin-gen model post title:string body:text published:boolean`
@@ -32,4 +32,12 @@ class ModelGenerator < RubiGen::Base
32
32
  }, :migration_file_name => "create_#{@table_name}"
33
33
  end
34
34
  end
35
+
36
+ protected
37
+ def banner
38
+ <<-EOS
39
+ USAGE: #{File.basename($0)} #{spec.name} ModelName [field:type, field:type]
40
+
41
+ EOS
42
+ end
35
43
  end
@@ -4,6 +4,8 @@ class <%= migration_name %> < ActiveRecord::Migration
4
4
  <% for attribute in attributes -%>
5
5
  t.<%= attribute[:type] %> :<%= attribute[:name] %>
6
6
  <% end -%>
7
+ t.column :created_at, :datetime
8
+ t.column :updated_at, :datetime
7
9
  end
8
10
  end
9
11
 
@@ -0,0 +1,19 @@
1
+ Description:
2
+ Scaffolds an entire resource, from model and migration to controller
3
+
4
+ Pass the name of the model (in singular form), either CamelCased or
5
+ under_scored, as the first argument, and an optional list of attribute
6
+ pairs.
7
+
8
+ Attribute pairs are column_name:sql_type arguments specifying the
9
+ model's attributes. Timestamps are added by default, so you don't have to
10
+ specify them by hand as 'created_at:datetime updated_at:datetime'.
11
+
12
+ You don't have to think up every attribute up front, but it helps to
13
+ sketch out a few so you can start working with the resource immediately.
14
+
15
+ Examples:
16
+ `newplugin-gen scaffold post`
17
+ `newplugin-gen scaffold post title:string body:text published:boolean`
18
+ `newplugin-gen scaffold purchase order_id:integer amount:decimal`
19
+
@@ -0,0 +1,25 @@
1
+ require 'rubygems'
2
+ require 'active_record'
3
+
4
+ class ScaffoldGenerator < RubiGen::Base
5
+
6
+ def initialize(runtime_args, runtime_options = {})
7
+ super
8
+ usage if args.empty?
9
+ RubiGen::Scripts::Generate.new.run(args.clone, :generator => 'model')
10
+ RubiGen::Scripts::Generate.new.run(args[0].pluralize.to_a, :generator => 'controller')
11
+ end
12
+
13
+ def manifest
14
+ record do |m|
15
+ end
16
+ end
17
+
18
+ protected
19
+ def banner
20
+ <<-EOS
21
+ USAGE: #{File.basename($0)} #{spec.name} ModelName [field:type, field:type]
22
+
23
+ EOS
24
+ end
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newplugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZhangJinzhu
@@ -38,41 +38,43 @@ files:
38
38
  - README.rdoc
39
39
  - Rakefile
40
40
  - bin/newplugin-gen
41
- - generators/app/USAGE
42
- - generators/app/app_generator.rb
43
- - generators/app/templates/MIT-LICENSE
44
- - generators/app/templates/README
45
- - generators/app/templates/Rakefile
46
- - generators/app/templates/init.rb
47
- - generators/app/templates/install.rb
48
- - generators/app/templates/lib/module.rb
49
- - generators/app/templates/tasks/tasks.rake
50
- - generators/app/templates/test/app_root/app/controllers/application.rb
51
- - generators/app/templates/test/app_root/app/controllers/application_controller.rb
52
- - generators/app/templates/test/app_root/config/boot.rb
53
- - generators/app/templates/test/app_root/config/database.yml
54
- - generators/app/templates/test/app_root/config/environment.rb
55
- - generators/app/templates/test/app_root/config/environments/in_memory.rb
56
- - generators/app/templates/test/app_root/config/environments/mysql.rb
57
- - generators/app/templates/test/app_root/config/environments/postgresql.rb
58
- - generators/app/templates/test/app_root/config/environments/sqlite.rb
59
- - generators/app/templates/test/app_root/config/environments/sqlite3.rb
60
- - generators/app/templates/test/app_root/config/initializers/plugin.rb
61
- - generators/app/templates/test/app_root/config/routes.rb
62
- - generators/app/templates/test/test_helper.rb
63
- - generators/app/templates/uninstall.rb
64
- - generators/controller/USAGE
65
- - generators/controller/controller_generator.rb
66
- - generators/controller/templates/controller.rb
67
- - generators/migration/USAGE
68
- - generators/migration/migration_generator.rb
69
- - generators/migration/templates/migration.rb
70
- - generators/model/USAGE
71
- - generators/model/model_generator.rb
72
- - generators/model/templates/fixtures.yml
73
- - generators/model/templates/migration.rb
74
- - generators/model/templates/model.rb
75
41
  - lib/newplugin.rb
42
+ - newplugin_generators/app/USAGE
43
+ - newplugin_generators/app/app_generator.rb
44
+ - newplugin_generators/app/templates/MIT-LICENSE
45
+ - newplugin_generators/app/templates/README
46
+ - newplugin_generators/app/templates/Rakefile
47
+ - newplugin_generators/app/templates/init.rb
48
+ - newplugin_generators/app/templates/install.rb
49
+ - newplugin_generators/app/templates/lib/module.rb
50
+ - newplugin_generators/app/templates/tasks/tasks.rake
51
+ - newplugin_generators/app/templates/test/app_root/app/controllers/application.rb
52
+ - newplugin_generators/app/templates/test/app_root/app/controllers/application_controller.rb
53
+ - newplugin_generators/app/templates/test/app_root/config/boot.rb
54
+ - newplugin_generators/app/templates/test/app_root/config/database.yml
55
+ - newplugin_generators/app/templates/test/app_root/config/environment.rb
56
+ - newplugin_generators/app/templates/test/app_root/config/environments/in_memory.rb
57
+ - newplugin_generators/app/templates/test/app_root/config/environments/mysql.rb
58
+ - newplugin_generators/app/templates/test/app_root/config/environments/postgresql.rb
59
+ - newplugin_generators/app/templates/test/app_root/config/environments/sqlite.rb
60
+ - newplugin_generators/app/templates/test/app_root/config/environments/sqlite3.rb
61
+ - newplugin_generators/app/templates/test/app_root/config/initializers/plugin.rb
62
+ - newplugin_generators/app/templates/test/app_root/config/routes.rb
63
+ - newplugin_generators/app/templates/test/test_helper.rb
64
+ - newplugin_generators/app/templates/uninstall.rb
65
+ - newplugin_generators/controller/USAGE
66
+ - newplugin_generators/controller/controller_generator.rb
67
+ - newplugin_generators/controller/templates/controller.rb
68
+ - newplugin_generators/migration/USAGE
69
+ - newplugin_generators/migration/migration_generator.rb
70
+ - newplugin_generators/migration/templates/migration.rb
71
+ - newplugin_generators/model/USAGE
72
+ - newplugin_generators/model/model_generator.rb
73
+ - newplugin_generators/model/templates/fixtures.yml
74
+ - newplugin_generators/model/templates/migration.rb
75
+ - newplugin_generators/model/templates/model.rb
76
+ - newplugin_generators/scaffold/USAGE
77
+ - newplugin_generators/scaffold/scaffold_generator.rb
76
78
  - test/test_generator_helper.rb
77
79
  - test/test_helper.rb
78
80
  - test/test_new_plugin.rb
@@ -1,5 +0,0 @@
1
- Description:
2
-
3
-
4
- Usage:
5
-
@@ -1,2 +0,0 @@
1
- Description:
2
- Stubs out a new controller and its views.
@@ -1,2 +0,0 @@
1
- Description:
2
- Stubs out a new database migration. Pass the migration name
@@ -1,2 +0,0 @@
1
- Description:
2
- Stubs out a new model. Pass the model name