dry_scaffold 0.3.6

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 (73) hide show
  1. data/CHANGELOG.textile +55 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.textile +473 -0
  4. data/Rakefile +54 -0
  5. data/TODO.textile +36 -0
  6. data/bin/dmodel +3 -0
  7. data/bin/dry_model +3 -0
  8. data/bin/dry_scaffold +3 -0
  9. data/bin/dscaffold +3 -0
  10. data/config/scaffold.yml +33 -0
  11. data/generators/dmodel/dmodel_generator.rb +15 -0
  12. data/generators/dry_model/USAGE +9 -0
  13. data/generators/dry_model/dry_model_generator.rb +134 -0
  14. data/generators/dry_model/prototypes/active_record_migration.rb +17 -0
  15. data/generators/dry_model/prototypes/active_record_model.rb +9 -0
  16. data/generators/dry_model/prototypes/fixture_data/active_record_fixtures.yml +3 -0
  17. data/generators/dry_model/prototypes/fixture_data/factory_girl_factories.rb +4 -0
  18. data/generators/dry_model/prototypes/fixture_data/machinist_blueprints.rb +8 -0
  19. data/generators/dry_model/prototypes/tests/rspec/unit_test.rb +9 -0
  20. data/generators/dry_model/prototypes/tests/shoulda/unit_test.rb +20 -0
  21. data/generators/dry_model/prototypes/tests/test_unit/unit_test.rb +15 -0
  22. data/generators/dry_model/templates/models/active_record_migration.rb +23 -0
  23. data/generators/dry_model/templates/models/active_record_model.rb +15 -0
  24. data/generators/dry_model/templates/models/fixture_data/active_record_fixtures.yml +6 -0
  25. data/generators/dry_model/templates/models/fixture_data/factory_girl_factories.rb +5 -0
  26. data/generators/dry_model/templates/models/fixture_data/machinist_blueprints.rb +9 -0
  27. data/generators/dry_model/templates/models/tests/rspec/unit_test.rb +11 -0
  28. data/generators/dry_model/templates/models/tests/shoulda/unit_test.rb +23 -0
  29. data/generators/dry_model/templates/models/tests/test_unit/unit_test.rb +17 -0
  30. data/generators/dry_scaffold/USAGE +11 -0
  31. data/generators/dry_scaffold/dry_scaffold_generator.rb +410 -0
  32. data/generators/dry_scaffold/prototypes/controllers/action_controller.rb +135 -0
  33. data/generators/dry_scaffold/prototypes/controllers/inherited_resources_controller.rb +25 -0
  34. data/generators/dry_scaffold/prototypes/controllers/tests/rspec/functional_test.rb +57 -0
  35. data/generators/dry_scaffold/prototypes/controllers/tests/shoulda/functional_test.rb +99 -0
  36. data/generators/dry_scaffold/prototypes/controllers/tests/test_unit/functional_test.rb +70 -0
  37. data/generators/dry_scaffold/prototypes/helpers/helper.rb +3 -0
  38. data/generators/dry_scaffold/prototypes/helpers/tests/rspec/unit_test.rb +9 -0
  39. data/generators/dry_scaffold/prototypes/helpers/tests/shoulda/unit_test.rb +9 -0
  40. data/generators/dry_scaffold/prototypes/helpers/tests/test_unit/unit_test.rb +9 -0
  41. data/generators/dry_scaffold/prototypes/views/builder/index.atom.builder +20 -0
  42. data/generators/dry_scaffold/prototypes/views/builder/index.rss.builder +21 -0
  43. data/generators/dry_scaffold/prototypes/views/haml/_form.html.haml +3 -0
  44. data/generators/dry_scaffold/prototypes/views/haml/_item.html.haml +9 -0
  45. data/generators/dry_scaffold/prototypes/views/haml/edit.html.haml +10 -0
  46. data/generators/dry_scaffold/prototypes/views/haml/index.html.haml +17 -0
  47. data/generators/dry_scaffold/prototypes/views/haml/layout.html.haml +18 -0
  48. data/generators/dry_scaffold/prototypes/views/haml/new.html.haml +10 -0
  49. data/generators/dry_scaffold/prototypes/views/haml/show.html.haml +13 -0
  50. data/generators/dry_scaffold/templates/controllers/action_controller.rb +250 -0
  51. data/generators/dry_scaffold/templates/controllers/inherited_resources_controller.rb +26 -0
  52. data/generators/dry_scaffold/templates/controllers/tests/rspec/functional_test.rb +85 -0
  53. data/generators/dry_scaffold/templates/controllers/tests/shoulda/functional_test.rb +90 -0
  54. data/generators/dry_scaffold/templates/controllers/tests/test_unit/functional_test.rb +87 -0
  55. data/generators/dry_scaffold/templates/helpers/helper.rb +3 -0
  56. data/generators/dry_scaffold/templates/helpers/tests/rspec/unit_test.rb +9 -0
  57. data/generators/dry_scaffold/templates/helpers/tests/shoulda/unit_test.rb +9 -0
  58. data/generators/dry_scaffold/templates/helpers/tests/test_unit/unit_test.rb +9 -0
  59. data/generators/dry_scaffold/templates/views/builder/index.atom.builder +20 -0
  60. data/generators/dry_scaffold/templates/views/builder/index.rss.builder +21 -0
  61. data/generators/dry_scaffold/templates/views/haml/_form.html.haml +13 -0
  62. data/generators/dry_scaffold/templates/views/haml/_item.html.haml +10 -0
  63. data/generators/dry_scaffold/templates/views/haml/edit.html.haml +18 -0
  64. data/generators/dry_scaffold/templates/views/haml/index.html.haml +20 -0
  65. data/generators/dry_scaffold/templates/views/haml/layout.html.haml +19 -0
  66. data/generators/dry_scaffold/templates/views/haml/new.html.haml +18 -0
  67. data/generators/dry_scaffold/templates/views/haml/show.html.haml +13 -0
  68. data/generators/dscaffold/dscaffold_generator.rb +15 -0
  69. data/lib/dry_generator.rb +197 -0
  70. data/lib/dry_scaffold/tasks.rb +5 -0
  71. data/lib/setup_helper.rb +36 -0
  72. data/tasks/dry_scaffold.rake +95 -0
  73. metadata +140 -0
@@ -0,0 +1,5 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ # Make tasks visible for Rails also when used as gem.
5
+ load File.expand_path(File.join(File.dirname(__FILE__), *%w(.. .. tasks dry_scaffold.rake)))
@@ -0,0 +1,36 @@
1
+ module SetupHelper
2
+
3
+ # Add gem configuration to a specified Rails environment file
4
+ def config_gems(config_file, gems)
5
+ sentinel = 'Rails::Initializer.run do |config|'
6
+ config_line = ''
7
+
8
+ gems.each do |gem|
9
+ gem_info = gem.to_s.split('-')
10
+ if gem_info.size > 1
11
+ gem_owner = gem_info[0]
12
+ gem_lib = gem_info[1]
13
+ config_line = "config.gem '#{gem_owner}-#{gem_lib}', :lib => '#{gem_lib}'"
14
+ else
15
+ gem_lib = gem_info[0]
16
+ config_line = "config.gem '#{gem_lib}'"
17
+ end
18
+
19
+ gsub_file_if_missing config_file, /(#{Regexp.escape(sentinel)})/mi, config_line do |match|
20
+ "#{match}\n #{config_line}"
21
+ end
22
+ end
23
+ end
24
+
25
+ # Add info to specified file and beneath specified regex if the expression don't exist in the file.
26
+ def gsub_file_if_missing(path, regexp, new_exp, *args, &block)
27
+ existing_content = File.read(path)
28
+ unless existing_content =~ /(#{new_exp.strip}|#{new_exp.strip.tr('\'', '\"')})/
29
+ content = File.read(path).gsub(regexp, *args, &block)
30
+ else
31
+ content = existing_content
32
+ end
33
+ File.open(path, 'wb') { |file| file.write(content) }
34
+ end
35
+
36
+ end
@@ -0,0 +1,95 @@
1
+ namespace :dry_scaffold do
2
+
3
+ GEM_ROOT = File.join(File.dirname(__FILE__), '..').freeze
4
+
5
+ desc "Setup for this plugin/gem."
6
+ task :setup => :environment do
7
+ Rake::Task['dry_scaffold:dependencies:install'].invoke
8
+ Rake::Task['dry_scaffold:config:generate'].invoke
9
+ end
10
+
11
+ namespace :config do
12
+
13
+ desc "Generate a dry_scaffold config file as 'RAILS_ROOT/config/scaffold.yml'"
14
+ task :generate do
15
+ template = File.join(GEM_ROOT, 'config', 'scaffold.yml')
16
+ to_file = File.join(Rails.root, 'config', 'scaffold.yml')
17
+
18
+ `cp #{template} #{to_file}`
19
+
20
+ if File.exists?(to_file)
21
+ puts "Generated config file: '#{to_file}'"
22
+ else
23
+ puts "Could not create the config file. Hint: Try with sudo."
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+ namespace :dependencies do
30
+
31
+ require File.join(GEM_ROOT, 'lib', 'setup_helper')
32
+ include SetupHelper
33
+
34
+ GEMS = [:haml,
35
+ :'mislav-will_paginate',
36
+ :'josevalim-inherited_resources',
37
+ :'justinfrench-formtastic',
38
+ :'thoughtbot-shoulda'].freeze
39
+ PLUGINS = [].freeze
40
+
41
+ desc "Install dependencies for fully advantage of this generator."
42
+ task :install => :environment do
43
+
44
+ puts "---------------------------------------"
45
+ puts " Dependencies"
46
+ puts "---------------------------------------"
47
+ puts "Installing gems..."
48
+
49
+ # Install gems
50
+ unless GEMS.empty?
51
+ puts "GEMS: #{GEMS.to_sentence}"
52
+ GEMS.each do |gem|
53
+ puts `sudo gem install #{gem} --no-ri`
54
+ end
55
+ end
56
+
57
+ # Install plugins
58
+ unless PLUGINS.empty?
59
+ puts "PLUGINS: #{PLUGINS.to_sentence}"
60
+ puts "Installing plugins..."
61
+ PLUGINS.each do |plugin|
62
+ puts `./script/plugin install #{plugin}`
63
+ end
64
+ end
65
+
66
+ # Setup HAML - if missing
67
+ unless File.directory?(File.join(Rails.root, 'vendor', 'plugins', 'haml'))
68
+ puts "Initializing HAML for this project..."
69
+ puts `haml --rails #{Rails.root}`
70
+ end
71
+
72
+ # Add gems to Rails environment with gems - if missing
73
+ config_gems File.join(Rails.root, 'config', 'environment.rb'), GEMS
74
+
75
+ puts "---------------------------------------"
76
+ puts " Configuration"
77
+ puts "---------------------------------------"
78
+ puts "Adding configuration..."
79
+ puts "File 'config/environments/development.rb' now contains (added automatically):"
80
+ GEMS.each do |gem|
81
+ gem_info = gem.to_s.split('-')
82
+ if gem_info.size > 1
83
+ gem_owner = gem_info[0]
84
+ gem_lib = gem_info[1]
85
+ puts " config.gem '#{gem_owner}-#{gem_lib}', :lib => '#{gem_lib}'"
86
+ else
87
+ gem_lib = gem_info[0]
88
+ puts " config.gem '#{gem_lib}'"
89
+ end
90
+ end
91
+ puts "---------------------------------------"
92
+ end
93
+
94
+ end
95
+ end
metadata ADDED
@@ -0,0 +1,140 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dry_scaffold
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.6
5
+ platform: ruby
6
+ authors:
7
+ - Jonas Grimfelt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-31 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: haml
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ description: A DRYer scaffold generator for Rails. Generates dry semantic and standards compliant views, and dry RESTful controllers.
26
+ email: grimen@gmail.com
27
+ executables:
28
+ - dscaffold
29
+ - dry_scaffold
30
+ - dmodel
31
+ - dry_model
32
+ extensions: []
33
+
34
+ extra_rdoc_files:
35
+ - CHANGELOG.textile
36
+ - README.textile
37
+ - TODO.textile
38
+ files:
39
+ - CHANGELOG.textile
40
+ - MIT-LICENSE
41
+ - README.textile
42
+ - Rakefile
43
+ - TODO.textile
44
+ - bin/dmodel
45
+ - bin/dry_model
46
+ - bin/dry_scaffold
47
+ - bin/dscaffold
48
+ - config/scaffold.yml
49
+ - generators/dmodel/dmodel_generator.rb
50
+ - generators/dry_model/USAGE
51
+ - generators/dry_model/dry_model_generator.rb
52
+ - generators/dry_model/prototypes/active_record_migration.rb
53
+ - generators/dry_model/prototypes/active_record_model.rb
54
+ - generators/dry_model/prototypes/fixture_data/active_record_fixtures.yml
55
+ - generators/dry_model/prototypes/fixture_data/factory_girl_factories.rb
56
+ - generators/dry_model/prototypes/fixture_data/machinist_blueprints.rb
57
+ - generators/dry_model/prototypes/tests/rspec/unit_test.rb
58
+ - generators/dry_model/prototypes/tests/shoulda/unit_test.rb
59
+ - generators/dry_model/prototypes/tests/test_unit/unit_test.rb
60
+ - generators/dry_model/templates/models/active_record_migration.rb
61
+ - generators/dry_model/templates/models/active_record_model.rb
62
+ - generators/dry_model/templates/models/fixture_data/active_record_fixtures.yml
63
+ - generators/dry_model/templates/models/fixture_data/factory_girl_factories.rb
64
+ - generators/dry_model/templates/models/fixture_data/machinist_blueprints.rb
65
+ - generators/dry_model/templates/models/tests/rspec/unit_test.rb
66
+ - generators/dry_model/templates/models/tests/shoulda/unit_test.rb
67
+ - generators/dry_model/templates/models/tests/test_unit/unit_test.rb
68
+ - generators/dry_scaffold/USAGE
69
+ - generators/dry_scaffold/dry_scaffold_generator.rb
70
+ - generators/dry_scaffold/prototypes/controllers/action_controller.rb
71
+ - generators/dry_scaffold/prototypes/controllers/inherited_resources_controller.rb
72
+ - generators/dry_scaffold/prototypes/controllers/tests/rspec/functional_test.rb
73
+ - generators/dry_scaffold/prototypes/controllers/tests/shoulda/functional_test.rb
74
+ - generators/dry_scaffold/prototypes/controllers/tests/test_unit/functional_test.rb
75
+ - generators/dry_scaffold/prototypes/helpers/helper.rb
76
+ - generators/dry_scaffold/prototypes/helpers/tests/rspec/unit_test.rb
77
+ - generators/dry_scaffold/prototypes/helpers/tests/shoulda/unit_test.rb
78
+ - generators/dry_scaffold/prototypes/helpers/tests/test_unit/unit_test.rb
79
+ - generators/dry_scaffold/prototypes/views/builder/index.atom.builder
80
+ - generators/dry_scaffold/prototypes/views/builder/index.rss.builder
81
+ - generators/dry_scaffold/prototypes/views/haml/_form.html.haml
82
+ - generators/dry_scaffold/prototypes/views/haml/_item.html.haml
83
+ - generators/dry_scaffold/prototypes/views/haml/edit.html.haml
84
+ - generators/dry_scaffold/prototypes/views/haml/index.html.haml
85
+ - generators/dry_scaffold/prototypes/views/haml/layout.html.haml
86
+ - generators/dry_scaffold/prototypes/views/haml/new.html.haml
87
+ - generators/dry_scaffold/prototypes/views/haml/show.html.haml
88
+ - generators/dry_scaffold/templates/controllers/action_controller.rb
89
+ - generators/dry_scaffold/templates/controllers/inherited_resources_controller.rb
90
+ - generators/dry_scaffold/templates/controllers/tests/rspec/functional_test.rb
91
+ - generators/dry_scaffold/templates/controllers/tests/shoulda/functional_test.rb
92
+ - generators/dry_scaffold/templates/controllers/tests/test_unit/functional_test.rb
93
+ - generators/dry_scaffold/templates/helpers/helper.rb
94
+ - generators/dry_scaffold/templates/helpers/tests/rspec/unit_test.rb
95
+ - generators/dry_scaffold/templates/helpers/tests/shoulda/unit_test.rb
96
+ - generators/dry_scaffold/templates/helpers/tests/test_unit/unit_test.rb
97
+ - generators/dry_scaffold/templates/views/builder/index.atom.builder
98
+ - generators/dry_scaffold/templates/views/builder/index.rss.builder
99
+ - generators/dry_scaffold/templates/views/haml/_form.html.haml
100
+ - generators/dry_scaffold/templates/views/haml/_item.html.haml
101
+ - generators/dry_scaffold/templates/views/haml/edit.html.haml
102
+ - generators/dry_scaffold/templates/views/haml/index.html.haml
103
+ - generators/dry_scaffold/templates/views/haml/layout.html.haml
104
+ - generators/dry_scaffold/templates/views/haml/new.html.haml
105
+ - generators/dry_scaffold/templates/views/haml/show.html.haml
106
+ - generators/dscaffold/dscaffold_generator.rb
107
+ - lib/dry_generator.rb
108
+ - lib/dry_scaffold/tasks.rb
109
+ - lib/setup_helper.rb
110
+ - tasks/dry_scaffold.rake
111
+ has_rdoc: true
112
+ homepage: http://github.com/grimen/dry_scaffold
113
+ licenses: []
114
+
115
+ post_install_message:
116
+ rdoc_options:
117
+ - --charset=UTF-8
118
+ require_paths:
119
+ - lib
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: "0"
125
+ version:
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: "0"
131
+ version:
132
+ requirements: []
133
+
134
+ rubyforge_project:
135
+ rubygems_version: 1.3.5
136
+ signing_key:
137
+ specification_version: 3
138
+ summary: A DRYer scaffold generator for Rails. Generates dry semantic and standards compliant views, and dry RESTful controllers.
139
+ test_files: []
140
+