twilson63-nifty-generators 0.2.5

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 (101) hide show
  1. data/CHANGELOG +71 -0
  2. data/LICENSE +20 -0
  3. data/Manifest +103 -0
  4. data/README.rdoc +94 -0
  5. data/Rakefile +15 -0
  6. data/TODO +7 -0
  7. data/lib/nifty_generators.rb +3 -0
  8. data/nifty-generators.gemspec +32 -0
  9. data/rails_generators/nifty_authentication/USAGE +46 -0
  10. data/rails_generators/nifty_authentication/lib/insert_commands.rb +74 -0
  11. data/rails_generators/nifty_authentication/nifty_authentication_generator.rb +118 -0
  12. data/rails_generators/nifty_authentication/templates/authentication.rb +36 -0
  13. data/rails_generators/nifty_authentication/templates/fixtures.yml +12 -0
  14. data/rails_generators/nifty_authentication/templates/migration.rb +15 -0
  15. data/rails_generators/nifty_authentication/templates/sessions_controller.rb +22 -0
  16. data/rails_generators/nifty_authentication/templates/sessions_helper.rb +2 -0
  17. data/rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb +25 -0
  18. data/rails_generators/nifty_authentication/templates/tests/rspec/user.rb +81 -0
  19. data/rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb +24 -0
  20. data/rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb +26 -0
  21. data/rails_generators/nifty_authentication/templates/tests/shoulda/user.rb +83 -0
  22. data/rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb +25 -0
  23. data/rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb +22 -0
  24. data/rails_generators/nifty_authentication/templates/tests/testunit/user.rb +86 -0
  25. data/rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb +21 -0
  26. data/rails_generators/nifty_authentication/templates/user.rb +36 -0
  27. data/rails_generators/nifty_authentication/templates/users_controller.rb +16 -0
  28. data/rails_generators/nifty_authentication/templates/users_helper.rb +2 -0
  29. data/rails_generators/nifty_authentication/templates/views/erb/login.html.erb +15 -0
  30. data/rails_generators/nifty_authentication/templates/views/erb/signup.html.erb +24 -0
  31. data/rails_generators/nifty_authentication/templates/views/haml/login.html.haml +15 -0
  32. data/rails_generators/nifty_authentication/templates/views/haml/signup.html.haml +24 -0
  33. data/rails_generators/nifty_config/USAGE +23 -0
  34. data/rails_generators/nifty_config/nifty_config_generator.rb +32 -0
  35. data/rails_generators/nifty_config/templates/config.yml +8 -0
  36. data/rails_generators/nifty_config/templates/load_config.rb +2 -0
  37. data/rails_generators/nifty_layout/USAGE +25 -0
  38. data/rails_generators/nifty_layout/nifty_layout_generator.rb +44 -0
  39. data/rails_generators/nifty_layout/templates/helper.rb +23 -0
  40. data/rails_generators/nifty_layout/templates/layout.html.erb +22 -0
  41. data/rails_generators/nifty_layout/templates/layout.html.haml +19 -0
  42. data/rails_generators/nifty_layout/templates/stylesheet.css +81 -0
  43. data/rails_generators/nifty_layout/templates/stylesheet.sass +67 -0
  44. data/rails_generators/nifty_scaffold/USAGE +51 -0
  45. data/rails_generators/nifty_scaffold/nifty_scaffold_generator.rb +227 -0
  46. data/rails_generators/nifty_scaffold/templates/actions/create.rb +9 -0
  47. data/rails_generators/nifty_scaffold/templates/actions/destroy.rb +6 -0
  48. data/rails_generators/nifty_scaffold/templates/actions/edit.rb +3 -0
  49. data/rails_generators/nifty_scaffold/templates/actions/index.rb +3 -0
  50. data/rails_generators/nifty_scaffold/templates/actions/new.rb +3 -0
  51. data/rails_generators/nifty_scaffold/templates/actions/show.rb +3 -0
  52. data/rails_generators/nifty_scaffold/templates/actions/update.rb +9 -0
  53. data/rails_generators/nifty_scaffold/templates/controller.rb +3 -0
  54. data/rails_generators/nifty_scaffold/templates/fixtures.yml +9 -0
  55. data/rails_generators/nifty_scaffold/templates/helper.rb +2 -0
  56. data/rails_generators/nifty_scaffold/templates/migration.rb +16 -0
  57. data/rails_generators/nifty_scaffold/templates/model.rb +2 -0
  58. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb +11 -0
  59. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb +6 -0
  60. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb +4 -0
  61. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb +4 -0
  62. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb +4 -0
  63. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb +4 -0
  64. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb +11 -0
  65. data/rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb +8 -0
  66. data/rails_generators/nifty_scaffold/templates/tests/rspec/model.rb +7 -0
  67. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb +13 -0
  68. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb +8 -0
  69. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb +6 -0
  70. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb +6 -0
  71. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb +6 -0
  72. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb +6 -0
  73. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb +13 -0
  74. data/rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb +5 -0
  75. data/rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb +7 -0
  76. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb +11 -0
  77. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb +6 -0
  78. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb +4 -0
  79. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb +4 -0
  80. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb +4 -0
  81. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb +4 -0
  82. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb +11 -0
  83. data/rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb +5 -0
  84. data/rails_generators/nifty_scaffold/templates/tests/testunit/model.rb +7 -0
  85. data/rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb +10 -0
  86. data/rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb +14 -0
  87. data/rails_generators/nifty_scaffold/templates/views/erb/index.html.erb +29 -0
  88. data/rails_generators/nifty_scaffold/templates/views/erb/new.html.erb +7 -0
  89. data/rails_generators/nifty_scaffold/templates/views/erb/show.html.erb +20 -0
  90. data/rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml +11 -0
  91. data/rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml +1 -0
  92. data/rails_generators/nifty_scaffold/templates/views/haml/index.html.haml +1 -0
  93. data/rails_generators/nifty_scaffold/templates/views/haml/new.html.haml +2 -0
  94. data/rails_generators/nifty_scaffold/templates/views/haml/show.html.haml +6 -0
  95. data/tasks/deployment.rake +2 -0
  96. data/test/test_helper.rb +117 -0
  97. data/test/test_nifty_authentication_generator.rb +160 -0
  98. data/test/test_nifty_config_generator.rb +37 -0
  99. data/test/test_nifty_layout_generator.rb +42 -0
  100. data/test/test_nifty_scaffold_generator.rb +532 -0
  101. metadata +166 -0
data/CHANGELOG ADDED
@@ -0,0 +1,71 @@
1
+ 0.2.3 (February 20th, 2009)
2
+
3
+ * fixing nifty_authentication to work with Rails 2.3 application_controller.rb
4
+
5
+ * fixing password field in HAML signup page in nifty_authentication
6
+
7
+ 0.2.2 (November 11th, 2008)
8
+
9
+ * fixing sessions_path reference in nifty_authentication
10
+
11
+ * adding more validations to user model in nifty_authentication
12
+
13
+ * cleaning up nifty_layout stylesheet
14
+
15
+ 0.2.1 (November 10th, 2008)
16
+
17
+ * adding missing nifty_authentication files
18
+
19
+ 0.2.0 (November 4th, 2008)
20
+
21
+ * adding nifty_authentication
22
+
23
+ 0.1.8 (October 3rd, 2008)
24
+
25
+ * compatibility with RubyGems 1.3
26
+
27
+ * using f.error_messages instead of error_messages_for (thanks Zach Langley)
28
+
29
+ 0.1.7 (August 15th, 2008)
30
+
31
+ * fixing shoulda tests
32
+
33
+ 0.1.6 (August 7th, 2008)
34
+
35
+ * adding option to specify Shoulda as testing framework in nifty_scaffold generator
36
+
37
+ * adding options to manually specify rspec or testunit framework in nifty_scaffold generator
38
+
39
+ 0.1.5 (August 7th, 2008)
40
+
41
+ * adding option to nifty layout to generate HAML views and SASS stylesheets
42
+
43
+ * adding option to nifty scaffold to generate HAML views
44
+
45
+ 0.1.4 (July 21st, 2008)
46
+
47
+ * using same logic as model spec in model test for scaffold
48
+
49
+ * simplifying model spec generated by scaffold
50
+
51
+ * adding error_messages_for to form partial
52
+
53
+ 0.1.3 (June 20th, 2008)
54
+
55
+ * using _url in controllers instead of _path
56
+
57
+ * improving the nifty_config default example YAML file
58
+
59
+ 0.1.2 (May 16th, 2008)
60
+
61
+ * mentioning nifty_layout in nifty_scaffold generator
62
+
63
+ * adding nifty_config generator
64
+
65
+ 0.1.1 (May 9th, 2008)
66
+
67
+ * adding tests and specs to scaffold generator
68
+
69
+ 0.1.0 (May 8th, 2008)
70
+
71
+ * initial release
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2008 Ryan Bates
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest ADDED
@@ -0,0 +1,103 @@
1
+ CHANGELOG
2
+ lib/nifty_generators.rb
3
+ LICENSE
4
+ Manifest
5
+ nifty-generators.backup
6
+ nifty-generators.gemspec
7
+ rails_generators/nifty_authentication/lib/insert_commands.rb
8
+ rails_generators/nifty_authentication/nifty_authentication_generator.rb
9
+ rails_generators/nifty_authentication/templates/authentication.rb
10
+ rails_generators/nifty_authentication/templates/fixtures.yml
11
+ rails_generators/nifty_authentication/templates/migration.rb
12
+ rails_generators/nifty_authentication/templates/sessions_controller.rb
13
+ rails_generators/nifty_authentication/templates/sessions_helper.rb
14
+ rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb
15
+ rails_generators/nifty_authentication/templates/tests/rspec/user.rb
16
+ rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb
17
+ rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb
18
+ rails_generators/nifty_authentication/templates/tests/shoulda/user.rb
19
+ rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb
20
+ rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb
21
+ rails_generators/nifty_authentication/templates/tests/testunit/user.rb
22
+ rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb
23
+ rails_generators/nifty_authentication/templates/user.rb
24
+ rails_generators/nifty_authentication/templates/users_controller.rb
25
+ rails_generators/nifty_authentication/templates/users_helper.rb
26
+ rails_generators/nifty_authentication/templates/views/erb/login.html.erb
27
+ rails_generators/nifty_authentication/templates/views/erb/signup.html.erb
28
+ rails_generators/nifty_authentication/templates/views/haml/login.html.haml
29
+ rails_generators/nifty_authentication/templates/views/haml/signup.html.haml
30
+ rails_generators/nifty_authentication/USAGE
31
+ rails_generators/nifty_config/nifty_config_generator.rb
32
+ rails_generators/nifty_config/templates/config.yml
33
+ rails_generators/nifty_config/templates/load_config.rb
34
+ rails_generators/nifty_config/USAGE
35
+ rails_generators/nifty_layout/nifty_layout_generator.rb
36
+ rails_generators/nifty_layout/templates/helper.rb
37
+ rails_generators/nifty_layout/templates/layout.html.erb
38
+ rails_generators/nifty_layout/templates/layout.html.haml
39
+ rails_generators/nifty_layout/templates/stylesheet.css
40
+ rails_generators/nifty_layout/templates/stylesheet.sass
41
+ rails_generators/nifty_layout/USAGE
42
+ rails_generators/nifty_scaffold/nifty_scaffold_generator.rb
43
+ rails_generators/nifty_scaffold/templates/actions/create.rb
44
+ rails_generators/nifty_scaffold/templates/actions/destroy.rb
45
+ rails_generators/nifty_scaffold/templates/actions/edit.rb
46
+ rails_generators/nifty_scaffold/templates/actions/index.rb
47
+ rails_generators/nifty_scaffold/templates/actions/new.rb
48
+ rails_generators/nifty_scaffold/templates/actions/show.rb
49
+ rails_generators/nifty_scaffold/templates/actions/update.rb
50
+ rails_generators/nifty_scaffold/templates/controller.rb
51
+ rails_generators/nifty_scaffold/templates/fixtures.yml
52
+ rails_generators/nifty_scaffold/templates/helper.rb
53
+ rails_generators/nifty_scaffold/templates/migration.rb
54
+ rails_generators/nifty_scaffold/templates/model.rb
55
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb
56
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb
57
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb
58
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb
59
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb
60
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb
61
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb
62
+ rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb
63
+ rails_generators/nifty_scaffold/templates/tests/rspec/model.rb
64
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb
65
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb
66
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb
67
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb
68
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb
69
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb
70
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb
71
+ rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb
72
+ rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb
73
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb
74
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb
75
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb
76
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb
77
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb
78
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb
79
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb
80
+ rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb
81
+ rails_generators/nifty_scaffold/templates/tests/testunit/model.rb
82
+ rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb
83
+ rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb
84
+ rails_generators/nifty_scaffold/templates/views/erb/index.html.erb
85
+ rails_generators/nifty_scaffold/templates/views/erb/new.html.erb
86
+ rails_generators/nifty_scaffold/templates/views/erb/show.html.erb
87
+ rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml
88
+ rails_generators/nifty_scaffold/templates/views/haml/_item.html.haml
89
+ rails_generators/nifty_scaffold/templates/views/haml/_items.html.haml
90
+ rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml
91
+ rails_generators/nifty_scaffold/templates/views/haml/index.html.haml
92
+ rails_generators/nifty_scaffold/templates/views/haml/new.html.haml
93
+ rails_generators/nifty_scaffold/templates/views/haml/show.html.haml
94
+ rails_generators/nifty_scaffold/USAGE
95
+ Rakefile
96
+ README.rdoc
97
+ tasks/deployment.rake
98
+ test/test_helper.rb
99
+ test/test_nifty_authentication_generator.rb
100
+ test/test_nifty_config_generator.rb
101
+ test/test_nifty_layout_generator.rb
102
+ test/test_nifty_scaffold_generator.rb
103
+ TODO
data/README.rdoc ADDED
@@ -0,0 +1,94 @@
1
+ = Nifty Generators
2
+
3
+ A collection of useful Rails generator scripts.
4
+
5
+
6
+ == Install
7
+
8
+ gem install nifty-generators
9
+
10
+ You may need to uninstall the older version if it's installed.
11
+
12
+ gem uninstall ryanb-nifty-generators
13
+
14
+
15
+ == Usage
16
+
17
+ Once you install the gem, the generators will be available to all Rails
18
+ applications on your system. If you run script/generate without any
19
+ additional arguments you should see the available generators listed.
20
+
21
+ To run the generator, go to your rails project directory and call it
22
+ using the script/generate or script/destroy command.
23
+
24
+ script/generate nifty_scaffold Recipe name:string index new
25
+
26
+
27
+ == Included Generators
28
+
29
+ * nifty_layout: generates generic layout, stylesheet, and helper files.
30
+ * nifty_scaffold: generates a controller and optional model/migration.
31
+ * nifty_config: generates a config YAML file and loader.
32
+ * nifty_authentication: generates user model with sign up and log in.
33
+
34
+ Run the command with the <tt>--help</tt> option to learn more.
35
+
36
+ script/generate nifty_layout --help
37
+
38
+
39
+ == Troubleshooting
40
+
41
+ <b>I get "undefined method 'title'" error.</b>
42
+
43
+ Try running nifty_layout, that will generate this helper method. Or
44
+ you can just change the templates to whatever approach you prefer for
45
+ setting the title.
46
+
47
+
48
+ <b>I get "undefined method 'root_url'" error.</b>
49
+
50
+ Some generators default redirecting to the root_url. Set this in your
51
+ routes.rb file like this (substituting your controller name).
52
+
53
+ map.root :controller => 'foo'
54
+
55
+
56
+ <b>I get a missing database error.</b>
57
+
58
+ Run <tt>rake db:migrate</tt>.
59
+
60
+
61
+ <b>Forms don't work.</b>
62
+
63
+ Try restarting your development server. Sometimes it doesn't detect the
64
+ change in the routing.
65
+
66
+
67
+ <b>I can't set new attributes in my User model.</b>
68
+
69
+ Add the attribute to the attr_accessible line in the model.
70
+
71
+
72
+ <b>The tests/specs don't work.</b>
73
+
74
+ Make sure you have mocha installed and require it in your spec/test helper.
75
+
76
+ gem install mocha
77
+
78
+ # in spec_helper.rb
79
+ config.mock_with :mocha
80
+
81
+ # in test_helper.rb
82
+ require 'mocha'
83
+
84
+ Also, make sure you're using Rails 2.1 or greater.
85
+
86
+
87
+ == Development
88
+
89
+ This project can be found on github at the following URL.
90
+
91
+ http://github.com/ryanb/nifty-generators/
92
+
93
+ If you wish the generators behaved differently, please consider
94
+ forking the project and modifying to your heart's content.
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new('nifty-generators', '0.2.3') do |p|
6
+ p.project = "niftygenerators"
7
+ p.description = "A collection of useful generator scripts for Rails."
8
+ p.url = "http://github.com/ryanb/nifty-generators"
9
+ p.author = 'Ryan Bates'
10
+ p.email = "ryan (at) railscasts (dot) com"
11
+ p.ignore_pattern = ["script/*"]
12
+ p.development_dependencies = []
13
+ end
14
+
15
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
data/TODO ADDED
@@ -0,0 +1,7 @@
1
+
2
+ Nifty Scaffold
3
+ - add some validation for attributes/action names
4
+ - refactor out long methods in scaffold generator
5
+
6
+ Nifty Config
7
+ - make it easier to specify non environment specific configs
@@ -0,0 +1,3 @@
1
+ module NiftyGenerators
2
+ # nothing to see here, the real action is under rails_generators
3
+ end
@@ -0,0 +1,32 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{nifty-generators}
5
+ s.version = "0.2.5"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Ryan Bates"]
9
+ s.date = %q{2009-04-24}
10
+ s.description = %q{A collection of useful generator scripts for Rails.}
11
+ s.email = %q{ryan (at) railscasts (dot) com}
12
+ s.extra_rdoc_files = ["CHANGELOG", "lib/nifty_generators.rb", "LICENSE", "README.rdoc", "tasks/deployment.rake", "TODO"]
13
+ s.files = ["CHANGELOG", "lib/nifty_generators.rb", "LICENSE", "Manifest", "nifty-generators.gemspec", "rails_generators/nifty_authentication/lib/insert_commands.rb", "rails_generators/nifty_authentication/nifty_authentication_generator.rb", "rails_generators/nifty_authentication/templates/authentication.rb", "rails_generators/nifty_authentication/templates/fixtures.yml", "rails_generators/nifty_authentication/templates/migration.rb", "rails_generators/nifty_authentication/templates/sessions_controller.rb", "rails_generators/nifty_authentication/templates/sessions_helper.rb", "rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb", "rails_generators/nifty_authentication/templates/tests/rspec/user.rb", "rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb", "rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb", "rails_generators/nifty_authentication/templates/tests/shoulda/user.rb", "rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb", "rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb", "rails_generators/nifty_authentication/templates/tests/testunit/user.rb", "rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb", "rails_generators/nifty_authentication/templates/user.rb", "rails_generators/nifty_authentication/templates/users_controller.rb", "rails_generators/nifty_authentication/templates/users_helper.rb", "rails_generators/nifty_authentication/templates/views/erb/login.html.erb", "rails_generators/nifty_authentication/templates/views/erb/signup.html.erb", "rails_generators/nifty_authentication/templates/views/haml/login.html.haml", "rails_generators/nifty_authentication/templates/views/haml/signup.html.haml", "rails_generators/nifty_authentication/USAGE", "rails_generators/nifty_config/nifty_config_generator.rb", "rails_generators/nifty_config/templates/config.yml", "rails_generators/nifty_config/templates/load_config.rb", "rails_generators/nifty_config/USAGE", "rails_generators/nifty_layout/nifty_layout_generator.rb", "rails_generators/nifty_layout/templates/helper.rb", "rails_generators/nifty_layout/templates/layout.html.erb", "rails_generators/nifty_layout/templates/layout.html.haml", "rails_generators/nifty_layout/templates/stylesheet.css", "rails_generators/nifty_layout/templates/stylesheet.sass", "rails_generators/nifty_layout/USAGE", "rails_generators/nifty_scaffold/nifty_scaffold_generator.rb", "rails_generators/nifty_scaffold/templates/actions/create.rb", "rails_generators/nifty_scaffold/templates/actions/destroy.rb", "rails_generators/nifty_scaffold/templates/actions/edit.rb", "rails_generators/nifty_scaffold/templates/actions/index.rb", "rails_generators/nifty_scaffold/templates/actions/new.rb", "rails_generators/nifty_scaffold/templates/actions/show.rb", "rails_generators/nifty_scaffold/templates/actions/update.rb", "rails_generators/nifty_scaffold/templates/controller.rb", "rails_generators/nifty_scaffold/templates/fixtures.yml", "rails_generators/nifty_scaffold/templates/helper.rb", "rails_generators/nifty_scaffold/templates/migration.rb", "rails_generators/nifty_scaffold/templates/model.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb", "rails_generators/nifty_scaffold/templates/tests/rspec/model.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb", "rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb", "rails_generators/nifty_scaffold/templates/tests/testunit/model.rb", "rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb", "rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb", "rails_generators/nifty_scaffold/templates/views/erb/index.html.erb", "rails_generators/nifty_scaffold/templates/views/erb/new.html.erb", "rails_generators/nifty_scaffold/templates/views/erb/show.html.erb", "rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml", "rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml", "rails_generators/nifty_scaffold/templates/views/haml/index.html.haml", "rails_generators/nifty_scaffold/templates/views/haml/new.html.haml", "rails_generators/nifty_scaffold/templates/views/haml/show.html.haml", "rails_generators/nifty_scaffold/USAGE", "Rakefile", "README.rdoc", "tasks/deployment.rake", "test/test_helper.rb", "test/test_nifty_authentication_generator.rb", "test/test_nifty_config_generator.rb", "test/test_nifty_layout_generator.rb", "test/test_nifty_scaffold_generator.rb", "TODO"]
14
+ s.has_rdoc = true
15
+ s.homepage = %q{http://github.com/ryanb/nifty-generators}
16
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Nifty-generators", "--main", "README.rdoc"]
17
+ s.require_paths = ["lib"]
18
+ s.rubyforge_project = %q{niftygenerators}
19
+ s.rubygems_version = %q{1.3.1}
20
+ s.summary = %q{A collection of useful generator scripts for Rails.}
21
+ s.test_files = ["test/test_helper.rb", "test/test_nifty_authentication_generator.rb", "test/test_nifty_config_generator.rb", "test/test_nifty_layout_generator.rb", "test/test_nifty_scaffold_generator.rb"]
22
+
23
+ if s.respond_to? :specification_version then
24
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
+ s.specification_version = 2
26
+
27
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
+ else
29
+ end
30
+ else
31
+ end
32
+ end
@@ -0,0 +1,46 @@
1
+ Description:
2
+ Generates a user model, users controller, and sessions controller. The
3
+ users controller handles the registration and the sessions controller
4
+ handles authentication. This is similar to restful_authentication, but
5
+ simpler.
6
+
7
+ IMPORTANT: This generator uses the "title" helper method which is generated
8
+ by the nifty_layout generator. You may want to run that generator first.
9
+
10
+ Usage:
11
+ If you do not pass any arguments, the model name will default to "user", and
12
+ the authentication controller will default to "sessions". You can override
13
+ each of these respectively by passing one or two arguments. Either name can
14
+ be CamelCased or under_scored.
15
+
16
+ Examples:
17
+ script/generate nifty_authentication
18
+
19
+ Creates user model, users_controller, and sessions_controller.
20
+
21
+ script/generate nifty_authentication account
22
+
23
+ Creates account model, accounts_controller, and sessions_controller.
24
+
25
+ script/generate nifty_authentication Account CurrentSession
26
+
27
+ Creates account model, accounts_controller, and current_sessions_controller.
28
+
29
+ Methods:
30
+ There are several methods generated which you can use in your application.
31
+ Here's a common example of what you might add to your layout.
32
+
33
+ <% if logged_in? %>
34
+ Welcome <%= current_user.username %>! Not you?
35
+ <%= link_to "Log out", logout_path %>
36
+ <% else %>
37
+ <%= link_to "Sign up", signup_path %> or
38
+ <%= link_to "log in", login_path %>.
39
+ <% end %>
40
+
41
+ You can also restrict unregistered users from accessing a controller using
42
+ a before filter. For example.
43
+
44
+ before_filter :login_required, :except => [:index, :show]
45
+
46
+ See the generated file lib/authentication.rb for details.
@@ -0,0 +1,74 @@
1
+ Rails::Generator::Commands::Create.class_eval do
2
+ def route_resource(*resources)
3
+ resource_list = resources.map { |r| r.to_sym.inspect }.join(', ')
4
+ sentinel = 'ActionController::Routing::Routes.draw do |map|'
5
+
6
+ logger.route "map.resource #{resource_list}"
7
+ unless options[:pretend]
8
+ gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |match|
9
+ "#{match}\n map.resource #{resource_list}\n"
10
+ end
11
+ end
12
+ end
13
+
14
+ def route_name(name, path, route_options = {})
15
+ sentinel = 'ActionController::Routing::Routes.draw do |map|'
16
+
17
+ logger.route "map.#{name} '#{path}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
18
+ unless options[:pretend]
19
+ gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |match|
20
+ "#{match}\n map.#{name} '#{path}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
21
+ end
22
+ end
23
+ end
24
+
25
+ def insert_into(file, line)
26
+ logger.insert "#{line} into #{file}"
27
+ unless options[:pretend]
28
+ gsub_file file, /^(class|module) .+$/ do |match|
29
+ "#{match}\n #{line}"
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ Rails::Generator::Commands::Destroy.class_eval do
36
+ def route_resource(*resources)
37
+ resource_list = resources.map { |r| r.to_sym.inspect }.join(', ')
38
+ look_for = "\n map.resource #{resource_list}\n"
39
+ logger.route "map.resource #{resource_list}"
40
+ unless options[:pretend]
41
+ gsub_file 'config/routes.rb', /(#{look_for})/mi, ''
42
+ end
43
+ end
44
+
45
+ def route_name(name, path, route_options = {})
46
+ look_for = "\n map.#{name} '#{path}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
47
+ logger.route "map.#{name} '#{path}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
48
+ unless options[:pretend]
49
+ gsub_file 'config/routes.rb', /(#{look_for})/mi, ''
50
+ end
51
+ end
52
+
53
+ def insert_into(file, line)
54
+ logger.remove "#{line} from #{file}"
55
+ unless options[:pretend]
56
+ gsub_file file, "\n #{line}", ''
57
+ end
58
+ end
59
+ end
60
+
61
+ Rails::Generator::Commands::List.class_eval do
62
+ def route_resource(*resources)
63
+ resource_list = resources.map { |r| r.to_sym.inspect }.join(', ')
64
+ logger.route "map.resource #{resource_list}"
65
+ end
66
+
67
+ def route_name(name, path, options = {})
68
+ logger.route "map.#{name} '#{path}', :controller => '{options[:controller]}', :action => '#{options[:action]}'"
69
+ end
70
+
71
+ def insert_into(file, line)
72
+ logger.insert "#{line} into #{file}"
73
+ end
74
+ end