xenda-nifty-generators 0.3.2

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 (106) hide show
  1. data/CHANGELOG +105 -0
  2. data/LICENSE +20 -0
  3. data/Manifest +104 -0
  4. data/README.rdoc +14 -0
  5. data/Rakefile +15 -0
  6. data/TODO +7 -0
  7. data/lib/nifty_generators.rb +3 -0
  8. data/nifty-generators.gemspec +31 -0
  9. data/rails_generators/nifty_authentication/USAGE +50 -0
  10. data/rails_generators/nifty_authentication/lib/insert_commands.rb +74 -0
  11. data/rails_generators/nifty_authentication/nifty_authentication_generator.rb +128 -0
  12. data/rails_generators/nifty_authentication/templates/authentication.rb +61 -0
  13. data/rails_generators/nifty_authentication/templates/authlogic_session.rb +2 -0
  14. data/rails_generators/nifty_authentication/templates/fixtures.yml +24 -0
  15. data/rails_generators/nifty_authentication/templates/migration.rb +20 -0
  16. data/rails_generators/nifty_authentication/templates/sessions_controller.rb +45 -0
  17. data/rails_generators/nifty_authentication/templates/sessions_helper.rb +2 -0
  18. data/rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb +39 -0
  19. data/rails_generators/nifty_authentication/templates/tests/rspec/user.rb +83 -0
  20. data/rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb +26 -0
  21. data/rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb +40 -0
  22. data/rails_generators/nifty_authentication/templates/tests/shoulda/user.rb +85 -0
  23. data/rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb +27 -0
  24. data/rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb +36 -0
  25. data/rails_generators/nifty_authentication/templates/tests/testunit/user.rb +88 -0
  26. data/rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb +23 -0
  27. data/rails_generators/nifty_authentication/templates/user.rb +42 -0
  28. data/rails_generators/nifty_authentication/templates/users_controller.rb +18 -0
  29. data/rails_generators/nifty_authentication/templates/users_helper.rb +2 -0
  30. data/rails_generators/nifty_authentication/templates/views/erb/login.html.erb +30 -0
  31. data/rails_generators/nifty_authentication/templates/views/erb/signup.html.erb +24 -0
  32. data/rails_generators/nifty_authentication/templates/views/haml/login.html.haml +30 -0
  33. data/rails_generators/nifty_authentication/templates/views/haml/signup.html.haml +24 -0
  34. data/rails_generators/nifty_config/USAGE +23 -0
  35. data/rails_generators/nifty_config/nifty_config_generator.rb +32 -0
  36. data/rails_generators/nifty_config/templates/config.yml +8 -0
  37. data/rails_generators/nifty_config/templates/load_config.rb +2 -0
  38. data/rails_generators/nifty_layout/USAGE +25 -0
  39. data/rails_generators/nifty_layout/nifty_layout_generator.rb +44 -0
  40. data/rails_generators/nifty_layout/templates/helper.rb +22 -0
  41. data/rails_generators/nifty_layout/templates/layout.html.erb +22 -0
  42. data/rails_generators/nifty_layout/templates/layout.html.haml +19 -0
  43. data/rails_generators/nifty_layout/templates/stylesheet.css +81 -0
  44. data/rails_generators/nifty_layout/templates/stylesheet.sass +67 -0
  45. data/rails_generators/nifty_scaffold/USAGE +51 -0
  46. data/rails_generators/nifty_scaffold/nifty_scaffold_generator.rb +243 -0
  47. data/rails_generators/nifty_scaffold/templates/actions/create.rb +9 -0
  48. data/rails_generators/nifty_scaffold/templates/actions/destroy.rb +6 -0
  49. data/rails_generators/nifty_scaffold/templates/actions/edit.rb +3 -0
  50. data/rails_generators/nifty_scaffold/templates/actions/index.rb +7 -0
  51. data/rails_generators/nifty_scaffold/templates/actions/new.rb +3 -0
  52. data/rails_generators/nifty_scaffold/templates/actions/show.rb +3 -0
  53. data/rails_generators/nifty_scaffold/templates/actions/update.rb +9 -0
  54. data/rails_generators/nifty_scaffold/templates/controller.rb +3 -0
  55. data/rails_generators/nifty_scaffold/templates/fixtures.yml +9 -0
  56. data/rails_generators/nifty_scaffold/templates/helper.rb +2 -0
  57. data/rails_generators/nifty_scaffold/templates/inherited_resources_controller.rb +10 -0
  58. data/rails_generators/nifty_scaffold/templates/migration.rb +16 -0
  59. data/rails_generators/nifty_scaffold/templates/model.rb +3 -0
  60. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb +11 -0
  61. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb +6 -0
  62. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb +4 -0
  63. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb +4 -0
  64. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb +4 -0
  65. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb +4 -0
  66. data/rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb +11 -0
  67. data/rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb +8 -0
  68. data/rails_generators/nifty_scaffold/templates/tests/rspec/model.rb +7 -0
  69. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb +13 -0
  70. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb +8 -0
  71. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb +6 -0
  72. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb +6 -0
  73. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb +6 -0
  74. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb +6 -0
  75. data/rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb +13 -0
  76. data/rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb +5 -0
  77. data/rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb +7 -0
  78. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb +11 -0
  79. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb +6 -0
  80. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb +4 -0
  81. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb +4 -0
  82. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb +4 -0
  83. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb +4 -0
  84. data/rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb +11 -0
  85. data/rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb +5 -0
  86. data/rails_generators/nifty_scaffold/templates/tests/testunit/model.rb +7 -0
  87. data/rails_generators/nifty_scaffold/templates/views/erb/_fields.html.erb +10 -0
  88. data/rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb +10 -0
  89. data/rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb +14 -0
  90. data/rails_generators/nifty_scaffold/templates/views/erb/index.html.erb +31 -0
  91. data/rails_generators/nifty_scaffold/templates/views/erb/new.html.erb +7 -0
  92. data/rails_generators/nifty_scaffold/templates/views/erb/show.html.erb +20 -0
  93. data/rails_generators/nifty_scaffold/templates/views/haml/_fields.html.haml +7 -0
  94. data/rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml +8 -0
  95. data/rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml +14 -0
  96. data/rails_generators/nifty_scaffold/templates/views/haml/index.html.haml +28 -0
  97. data/rails_generators/nifty_scaffold/templates/views/haml/new.html.haml +7 -0
  98. data/rails_generators/nifty_scaffold/templates/views/haml/show.html.haml +20 -0
  99. data/tasks/deployment.rake +2 -0
  100. data/test/test_helper.rb +117 -0
  101. data/test/test_nifty_authentication_generator.rb +236 -0
  102. data/test/test_nifty_config_generator.rb +37 -0
  103. data/test/test_nifty_layout_generator.rb +42 -0
  104. data/test/test_nifty_scaffold_generator.rb +534 -0
  105. data/xenda-nifty-generators.gemspec +31 -0
  106. metadata +173 -0
@@ -0,0 +1,105 @@
1
+ 0.3.0 (August 15th, 2009)
2
+
3
+ * adding attr_accessible to models in nifty_scaffold
4
+
5
+ * adding authlogic support with --authlogic option in nifty_authentication
6
+
7
+ * pluralize second argument for controller in nifty_authentication
8
+
9
+ * don't convert javascript/stylesheet arguments to strings in nifty_layout
10
+
11
+ * store request location and redirect to it when logging in under nifty_authentication
12
+
13
+
14
+ 0.2.4 (May 5th, 2009)
15
+
16
+ * using root_url when no index action in nifty_scaffold
17
+
18
+ * making password editable in user model in nifty_authentication
19
+
20
+ * adding filter_parameter_logging :password in nifty_authentication
21
+
22
+
23
+ 0.2.3 (February 20th, 2009)
24
+
25
+ * fixing nifty_authentication to work with Rails 2.3 application_controller.rb
26
+
27
+ * fixing password field in HAML signup page in nifty_authentication
28
+
29
+
30
+ 0.2.2 (November 11th, 2008)
31
+
32
+ * fixing sessions_path reference in nifty_authentication
33
+
34
+ * adding more validations to user model in nifty_authentication
35
+
36
+ * cleaning up nifty_layout stylesheet
37
+
38
+
39
+ 0.2.1 (November 10th, 2008)
40
+
41
+ * adding missing nifty_authentication files
42
+
43
+
44
+ 0.2.0 (November 4th, 2008)
45
+
46
+ * adding nifty_authentication
47
+
48
+
49
+ 0.1.8 (October 3rd, 2008)
50
+
51
+ * compatibility with RubyGems 1.3
52
+
53
+ * using f.error_messages instead of error_messages_for (thanks Zach Langley)
54
+
55
+
56
+ 0.1.7 (August 15th, 2008)
57
+
58
+ * fixing shoulda tests
59
+
60
+
61
+ 0.1.6 (August 7th, 2008)
62
+
63
+ * adding option to specify Shoulda as testing framework in nifty_scaffold generator
64
+
65
+ * adding options to manually specify rspec or testunit framework in nifty_scaffold generator
66
+
67
+
68
+ 0.1.5 (August 7th, 2008)
69
+
70
+ * adding option to nifty layout to generate HAML views and SASS stylesheets
71
+
72
+ * adding option to nifty scaffold to generate HAML views
73
+
74
+
75
+ 0.1.4 (July 21st, 2008)
76
+
77
+ * using same logic as model spec in model test for scaffold
78
+
79
+ * simplifying model spec generated by scaffold
80
+
81
+ * adding error_messages_for to form partial
82
+
83
+
84
+ 0.1.3 (June 20th, 2008)
85
+
86
+ * using _url in controllers instead of _path
87
+
88
+ * improving the nifty_config default example YAML file
89
+
90
+
91
+ 0.1.2 (May 16th, 2008)
92
+
93
+ * mentioning nifty_layout in nifty_scaffold generator
94
+
95
+ * adding nifty_config generator
96
+
97
+
98
+ 0.1.1 (May 9th, 2008)
99
+
100
+ * adding tests and specs to scaffold generator
101
+
102
+
103
+ 0.1.0 (May 8th, 2008)
104
+
105
+ * 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.
@@ -0,0 +1,104 @@
1
+ CHANGELOG
2
+ LICENSE
3
+ Manifest
4
+ README.rdoc
5
+ Rakefile
6
+ TODO
7
+ lib/nifty_generators.rb
8
+ nifty-generators.gemspec
9
+ rails_generators/nifty_authentication/USAGE
10
+ rails_generators/nifty_authentication/lib/insert_commands.rb
11
+ rails_generators/nifty_authentication/nifty_authentication_generator.rb
12
+ rails_generators/nifty_authentication/templates/authentication.rb
13
+ rails_generators/nifty_authentication/templates/authlogic_session.rb
14
+ rails_generators/nifty_authentication/templates/fixtures.yml
15
+ rails_generators/nifty_authentication/templates/migration.rb
16
+ rails_generators/nifty_authentication/templates/sessions_controller.rb
17
+ rails_generators/nifty_authentication/templates/sessions_helper.rb
18
+ rails_generators/nifty_authentication/templates/tests/rspec/sessions_controller.rb
19
+ rails_generators/nifty_authentication/templates/tests/rspec/user.rb
20
+ rails_generators/nifty_authentication/templates/tests/rspec/users_controller.rb
21
+ rails_generators/nifty_authentication/templates/tests/shoulda/sessions_controller.rb
22
+ rails_generators/nifty_authentication/templates/tests/shoulda/user.rb
23
+ rails_generators/nifty_authentication/templates/tests/shoulda/users_controller.rb
24
+ rails_generators/nifty_authentication/templates/tests/testunit/sessions_controller.rb
25
+ rails_generators/nifty_authentication/templates/tests/testunit/user.rb
26
+ rails_generators/nifty_authentication/templates/tests/testunit/users_controller.rb
27
+ rails_generators/nifty_authentication/templates/user.rb
28
+ rails_generators/nifty_authentication/templates/users_controller.rb
29
+ rails_generators/nifty_authentication/templates/users_helper.rb
30
+ rails_generators/nifty_authentication/templates/views/erb/login.html.erb
31
+ rails_generators/nifty_authentication/templates/views/erb/signup.html.erb
32
+ rails_generators/nifty_authentication/templates/views/haml/login.html.haml
33
+ rails_generators/nifty_authentication/templates/views/haml/signup.html.haml
34
+ rails_generators/nifty_config/USAGE
35
+ rails_generators/nifty_config/nifty_config_generator.rb
36
+ rails_generators/nifty_config/templates/config.yml
37
+ rails_generators/nifty_config/templates/load_config.rb
38
+ rails_generators/nifty_layout/USAGE
39
+ rails_generators/nifty_layout/nifty_layout_generator.rb
40
+ rails_generators/nifty_layout/templates/helper.rb
41
+ rails_generators/nifty_layout/templates/layout.html.erb
42
+ rails_generators/nifty_layout/templates/layout.html.haml
43
+ rails_generators/nifty_layout/templates/stylesheet.css
44
+ rails_generators/nifty_layout/templates/stylesheet.sass
45
+ rails_generators/nifty_scaffold/USAGE
46
+ rails_generators/nifty_scaffold/nifty_scaffold_generator.rb
47
+ rails_generators/nifty_scaffold/templates/actions/create.rb
48
+ rails_generators/nifty_scaffold/templates/actions/destroy.rb
49
+ rails_generators/nifty_scaffold/templates/actions/edit.rb
50
+ rails_generators/nifty_scaffold/templates/actions/index.rb
51
+ rails_generators/nifty_scaffold/templates/actions/new.rb
52
+ rails_generators/nifty_scaffold/templates/actions/show.rb
53
+ rails_generators/nifty_scaffold/templates/actions/update.rb
54
+ rails_generators/nifty_scaffold/templates/controller.rb
55
+ rails_generators/nifty_scaffold/templates/fixtures.yml
56
+ rails_generators/nifty_scaffold/templates/helper.rb
57
+ rails_generators/nifty_scaffold/templates/inherited_resources_controller.rb
58
+ rails_generators/nifty_scaffold/templates/migration.rb
59
+ rails_generators/nifty_scaffold/templates/model.rb
60
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/create.rb
61
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/destroy.rb
62
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/edit.rb
63
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/index.rb
64
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/new.rb
65
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/show.rb
66
+ rails_generators/nifty_scaffold/templates/tests/rspec/actions/update.rb
67
+ rails_generators/nifty_scaffold/templates/tests/rspec/controller.rb
68
+ rails_generators/nifty_scaffold/templates/tests/rspec/model.rb
69
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/create.rb
70
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/destroy.rb
71
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/edit.rb
72
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/index.rb
73
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/new.rb
74
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/show.rb
75
+ rails_generators/nifty_scaffold/templates/tests/shoulda/actions/update.rb
76
+ rails_generators/nifty_scaffold/templates/tests/shoulda/controller.rb
77
+ rails_generators/nifty_scaffold/templates/tests/shoulda/model.rb
78
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/create.rb
79
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/destroy.rb
80
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/edit.rb
81
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/index.rb
82
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/new.rb
83
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/show.rb
84
+ rails_generators/nifty_scaffold/templates/tests/testunit/actions/update.rb
85
+ rails_generators/nifty_scaffold/templates/tests/testunit/controller.rb
86
+ rails_generators/nifty_scaffold/templates/tests/testunit/model.rb
87
+ rails_generators/nifty_scaffold/templates/views/erb/_fields.html.erb
88
+ rails_generators/nifty_scaffold/templates/views/erb/_form.html.erb
89
+ rails_generators/nifty_scaffold/templates/views/erb/edit.html.erb
90
+ rails_generators/nifty_scaffold/templates/views/erb/index.html.erb
91
+ rails_generators/nifty_scaffold/templates/views/erb/new.html.erb
92
+ rails_generators/nifty_scaffold/templates/views/erb/show.html.erb
93
+ rails_generators/nifty_scaffold/templates/views/haml/_fields.html.haml
94
+ rails_generators/nifty_scaffold/templates/views/haml/_form.html.haml
95
+ rails_generators/nifty_scaffold/templates/views/haml/edit.html.haml
96
+ rails_generators/nifty_scaffold/templates/views/haml/index.html.haml
97
+ rails_generators/nifty_scaffold/templates/views/haml/new.html.haml
98
+ rails_generators/nifty_scaffold/templates/views/haml/show.html.haml
99
+ tasks/deployment.rake
100
+ test/test_helper.rb
101
+ test/test_nifty_authentication_generator.rb
102
+ test/test_nifty_config_generator.rb
103
+ test/test_nifty_layout_generator.rb
104
+ test/test_nifty_scaffold_generator.rb
@@ -0,0 +1,14 @@
1
+ = Nifty Generators
2
+
3
+ A collection of useful Rails generator scripts, with added formtastic, will_paginate and inherited_resources magic.
4
+ A different taste for different needs
5
+
6
+ - xenda
7
+
8
+
9
+ == Development
10
+
11
+ The original base project can be found at
12
+
13
+ http://github.com/ryanb/nifty-generators/
14
+
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new('xenda-nifty-generators', '0.3.2') do |p|
6
+ p.project = "niftygenerators"
7
+ p.description = "A collection of useful generator scripts for Rails with extra juice"
8
+ p.url = "http://github.com/xenda/nifty-generators"
9
+ p.author = 'Alvaro Pereyra'
10
+ p.email = "alvaro (at) xendacentral (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,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{nifty-generators}
5
+ s.version = "0.3.2"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Alvaro Pereyra"]
9
+ s.date = %q{2009-11-02}
10
+ s.description = %q{A collection of useful generator scripts for Rails with extra juice}
11
+ s.email = %q{alvaro (at) xendacentral (dot) com}
12
+ s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.rdoc", "TODO", "lib/nifty_generators.rb", "tasks/deployment.rake"]
13
+ s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.rdoc", "Rakefile", "TODO", "lib/nifty_generators.rb", "nifty-generators.gemspec", "rails_generators/nifty_authentication/USAGE", "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/authlogic_session.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_config/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_layout/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_scaffold/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/inherited_resources_controller.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/_fields.html.erb", "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/_fields.html.haml", "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", "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"]
14
+ s.homepage = %q{http://github.com/xenda/nifty-generators}
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Nifty-generators", "--main", "README.rdoc"]
16
+ s.require_paths = ["lib"]
17
+ s.rubyforge_project = %q{niftygenerators}
18
+ s.rubygems_version = %q{1.3.5}
19
+ s.summary = %q{A collection of useful generator scripts for Rails with extra juice}
20
+ 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"]
21
+
22
+ if s.respond_to? :specification_version then
23
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
+ s.specification_version = 3
25
+
26
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
+ else
28
+ end
29
+ else
30
+ end
31
+ end
@@ -0,0 +1,50 @@
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 "session". 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
+ Make sure to setup the authlogic gem if you are using that option.
17
+
18
+ config.gem "authlogic"
19
+
20
+ Examples:
21
+ script/generate nifty_authentication
22
+
23
+ Creates user model, users_controller, and sessions_controller.
24
+
25
+ script/generate nifty_authentication account
26
+
27
+ Creates account model, accounts_controller, and sessions_controller.
28
+
29
+ script/generate nifty_authentication Account UserSession
30
+
31
+ Creates account model, accounts_controller, and user_sessions_controller.
32
+
33
+ Methods:
34
+ There are several methods generated which you can use in your application.
35
+ Here's a common example of what you might add to your layout.
36
+
37
+ <% if logged_in? %>
38
+ Welcome <%= current_user.username %>! Not you?
39
+ <%= link_to "Log out", logout_path %>
40
+ <% else %>
41
+ <%= link_to "Sign up", signup_path %> or
42
+ <%= link_to "log in", login_path %>.
43
+ <% end %>
44
+
45
+ You can also restrict unregistered users from accessing a controller using
46
+ a before filter. For example.
47
+
48
+ before_filter :login_required, :except => [:index, :show]
49
+
50
+ 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
@@ -0,0 +1,128 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/lib/insert_commands.rb")
2
+ class NiftyAuthenticationGenerator < Rails::Generator::Base
3
+ attr_accessor :user_name, :session_name
4
+
5
+ def initialize(runtime_args, runtime_options = {})
6
+ super
7
+
8
+ @user_name = @args[0] || 'user'
9
+ @session_name = @args[1] || (options[:authlogic] ? @user_name + '_session' : 'session')
10
+ end
11
+
12
+ def manifest
13
+ record do |m|
14
+ m.directory "app/models"
15
+ m.directory "app/controllers"
16
+ m.directory "app/helpers"
17
+ m.directory "app/views"
18
+ m.directory "lib"
19
+
20
+ m.directory "app/views/#{user_plural_name}"
21
+ m.template "user.rb", "app/models/#{user_singular_name}.rb"
22
+ m.template "authlogic_session.rb", "app/models/#{user_singular_name}_session.rb" if options[:authlogic]
23
+ m.template "users_controller.rb", "app/controllers/#{user_plural_name}_controller.rb"
24
+ m.template "users_helper.rb", "app/helpers/#{user_plural_name}_helper.rb"
25
+ m.template "views/#{view_language}/signup.html.#{view_language}", "app/views/#{user_plural_name}/new.html.#{view_language}"
26
+
27
+ m.directory "app/views/#{session_plural_name}"
28
+ m.template "sessions_controller.rb", "app/controllers/#{session_plural_name}_controller.rb"
29
+ m.template "sessions_helper.rb", "app/helpers/#{session_plural_name}_helper.rb"
30
+ m.template "views/#{view_language}/login.html.#{view_language}", "app/views/#{session_plural_name}/new.html.#{view_language}"
31
+
32
+ m.template "authentication.rb", "lib/authentication.rb"
33
+ m.migration_template "migration.rb", "db/migrate", :migration_file_name => "create_#{user_plural_name}"
34
+
35
+ m.route_resources user_plural_name
36
+ m.route_resources session_plural_name
37
+ m.route_name :login, 'login', :controller => session_plural_name, :action => 'new'
38
+ m.route_name :logout, 'logout', :controller => session_plural_name, :action => 'destroy'
39
+ m.route_name :signup, 'signup', :controller => user_plural_name, :action => 'new'
40
+
41
+ m.insert_into "app/controllers/#{application_controller_name}.rb", 'include Authentication'
42
+
43
+ if test_framework == :rspec
44
+ m.directory "spec"
45
+ m.directory "spec/fixtures"
46
+ m.directory "spec/controllers"
47
+ m.directory "spec/models"
48
+ m.template "fixtures.yml", "spec/fixtures/#{user_plural_name}.yml"
49
+ m.template "tests/rspec/user.rb", "spec/models/#{user_singular_name}_spec.rb"
50
+ m.template "tests/rspec/users_controller.rb", "spec/controllers/#{user_plural_name}_controller_spec.rb"
51
+ m.template "tests/rspec/sessions_controller.rb", "spec/controllers/#{session_plural_name}_controller_spec.rb"
52
+ else
53
+ m.directory "test"
54
+ m.directory "test/fixtures"
55
+ m.directory "test/functional"
56
+ m.directory "test/unit"
57
+ m.template "fixtures.yml", "test/fixtures/#{user_plural_name}.yml"
58
+ m.template "tests/#{test_framework}/user.rb", "test/unit/#{user_singular_name}_test.rb"
59
+ m.template "tests/#{test_framework}/users_controller.rb", "test/functional/#{user_plural_name}_controller_test.rb"
60
+ m.template "tests/#{test_framework}/sessions_controller.rb", "test/functional/#{session_plural_name}_controller_test.rb"
61
+ end
62
+ end
63
+ end
64
+
65
+ def user_singular_name
66
+ user_name.underscore
67
+ end
68
+
69
+ def user_plural_name
70
+ user_singular_name.pluralize
71
+ end
72
+
73
+ def user_class_name
74
+ user_name.camelize
75
+ end
76
+
77
+ def user_plural_class_name
78
+ user_plural_name.camelize
79
+ end
80
+
81
+ def session_singular_name
82
+ session_name.underscore
83
+ end
84
+
85
+ def session_plural_name
86
+ session_singular_name.pluralize
87
+ end
88
+
89
+ def session_class_name
90
+ session_name.camelize
91
+ end
92
+
93
+ def session_plural_class_name
94
+ session_plural_name.camelize
95
+ end
96
+
97
+ def application_controller_name
98
+ Rails.version >= '2.3.0' ? 'application_controller' : 'application'
99
+ end
100
+
101
+ protected
102
+
103
+ def view_language
104
+ options[:haml] ? 'haml' : 'erb'
105
+ end
106
+
107
+ def test_framework
108
+ options[:test_framework] ||= File.exist?(destination_path("spec")) ? :rspec : :testunit
109
+ end
110
+
111
+ def add_options!(opt)
112
+ opt.separator ''
113
+ opt.separator 'Options:'
114
+ opt.on("--testunit", "Use test/unit for test files.") { options[:test_framework] = :testunit }
115
+ opt.on("--rspec", "Use RSpec for test files.") { options[:test_framework] = :rspec }
116
+ opt.on("--shoulda", "Use Shoulda for test files.") { options[:test_framework] = :shoulda }
117
+ opt.on("--haml", "Generate HAML views instead of ERB.") { |v| options[:haml] = true }
118
+ opt.on("--authlogic", "Use Authlogic for authentication.") { |v| options[:authlogic] = true }
119
+ end
120
+
121
+ def banner
122
+ <<-EOS
123
+ Creates user model and controllers to handle registration and authentication.
124
+
125
+ USAGE: #{$0} #{spec.name} [user_name] [sessions_controller_name]
126
+ EOS
127
+ end
128
+ end