prefab 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +43 -0
  3. data/.travis.yml +9 -0
  4. data/Gemfile +26 -0
  5. data/LICENSE +21 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +134 -0
  8. data/Rakefile +154 -0
  9. data/lib/generators/api/USAGE +8 -0
  10. data/lib/generators/api/api_generator.rb +11 -0
  11. data/lib/generators/api/templates/api.rb +8 -0
  12. data/lib/generators/api/templates/api_spec.rb +5 -0
  13. data/lib/generators/datatable/USAGE +8 -0
  14. data/lib/generators/datatable/datatable_generator.rb +12 -0
  15. data/lib/generators/datatable/templates/datatable.rb +55 -0
  16. data/lib/generators/datatable/templates/javascript.js.coffee +8 -0
  17. data/lib/generators/report/USAGE +8 -0
  18. data/lib/generators/report/report_generator.rb +12 -0
  19. data/lib/generators/report/templates/report.rb +54 -0
  20. data/lib/generators/report/templates/report_spec.rb +14 -0
  21. data/lib/generators/service/USAGE +8 -0
  22. data/lib/generators/service/service_generator.rb +11 -0
  23. data/lib/generators/service/templates/service.rb +4 -0
  24. data/lib/generators/service/templates/service_spec.rb +8 -0
  25. data/lib/prefab.rb +18 -0
  26. data/lib/prefab/install/install_generator.rb +43 -0
  27. data/lib/prefab/install/templates/assets/stylesheets/bootstrap-variables.less +829 -0
  28. data/lib/prefab/install/templates/assets/stylesheets/bootstrap-variables.scss +833 -0
  29. data/lib/prefab/install/templates/assets/stylesheets/starter.css +22 -0
  30. data/lib/prefab/install/templates/assets/stylesheets/starter.less +23 -0
  31. data/lib/prefab/install/templates/assets/stylesheets/starter.scss +22 -0
  32. data/lib/prefab/install/templates/form_builders/form_builder/_form.html.erb +28 -0
  33. data/lib/prefab/install/templates/form_builders/form_builder/_form.html.haml +19 -0
  34. data/lib/prefab/install/templates/form_builders/form_builder/_form.html.slim +18 -0
  35. data/lib/prefab/install/templates/layouts/starter.html.erb +51 -0
  36. data/lib/prefab/install/templates/layouts/starter.html.haml +40 -0
  37. data/lib/prefab/install/templates/layouts/starter.html.slim +44 -0
  38. data/lib/prefab/install/templates/lib/templates/erb/controller/view.html.erb +4 -0
  39. data/lib/prefab/install/templates/lib/templates/erb/scaffold/edit.html.erb +13 -0
  40. data/lib/prefab/install/templates/lib/templates/erb/scaffold/index.html.erb +33 -0
  41. data/lib/prefab/install/templates/lib/templates/erb/scaffold/new.html.erb +9 -0
  42. data/lib/prefab/install/templates/lib/templates/erb/scaffold/show.html.erb +19 -0
  43. data/lib/prefab/install/templates/lib/templates/haml/controller/view.html.haml +3 -0
  44. data/lib/prefab/install/templates/lib/templates/haml/scaffold/edit.html.haml +10 -0
  45. data/lib/prefab/install/templates/lib/templates/haml/scaffold/index.html.haml +26 -0
  46. data/lib/prefab/install/templates/lib/templates/haml/scaffold/new.html.haml +7 -0
  47. data/lib/prefab/install/templates/lib/templates/haml/scaffold/show.html.haml +14 -0
  48. data/lib/prefab/install/templates/lib/templates/slim/controller/view.html.slim +5 -0
  49. data/lib/prefab/install/templates/lib/templates/slim/scaffold/edit.html.slim +12 -0
  50. data/lib/prefab/install/templates/lib/templates/slim/scaffold/index.html.slim +31 -0
  51. data/lib/prefab/install/templates/lib/templates/slim/scaffold/new.html.slim +9 -0
  52. data/lib/prefab/install/templates/lib/templates/slim/scaffold/show.html.slim +16 -0
  53. data/lib/prefab/version.rb +3 -0
  54. data/lib/templates/active_record/model/model.rb +26 -0
  55. data/lib/templates/haml/scaffold/_form.html.haml +16 -0
  56. data/lib/templates/haml/scaffold/edit.html.haml +9 -0
  57. data/lib/templates/haml/scaffold/index.html.haml +22 -0
  58. data/lib/templates/haml/scaffold/new.html.haml +7 -0
  59. data/lib/templates/haml/scaffold/show.html.haml +12 -0
  60. data/lib/templates/rails/scaffold_controller/controller.rb +68 -0
  61. data/lib/templates/rspec/model/model_spec.rb +13 -0
  62. data/prefab.gemspec +29 -0
  63. data/test/dummy/Rakefile +7 -0
  64. data/test/dummy/app/assets/javascripts/application.js +13 -0
  65. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  66. data/test/dummy/config.ru +4 -0
  67. data/test/dummy/config/application.rb +68 -0
  68. data/test/dummy/config/boot.rb +6 -0
  69. data/test/dummy/config/environment.rb +5 -0
  70. data/test/dummy/config/environments/test.rb +34 -0
  71. data/test/generators/prefab/install_generator_test.rb +86 -0
  72. data/test/test_helper.rb +7 -0
  73. metadata +198 -0
@@ -0,0 +1,86 @@
1
+ require 'test_helper'
2
+ require 'generators/prefab/install/install_generator'
3
+
4
+ class InstallGeneratorTest < Rails::Generators::TestCase
5
+ tests Prefab::Generators::InstallGenerator
6
+ destination File.expand_path('../../../../tmp', __FILE__)
7
+ arguments %w(-f)
8
+
9
+ setup do
10
+ prepare_destination
11
+ prepare_dummy_app
12
+ end
13
+
14
+ test 'precompile assets' do
15
+ generator.application 'config.assets.initialize_on_precompile = false'
16
+ run_generator %W(-f --stylesheet-engine scss)
17
+ # quietly { generator.rake 'assets:precompile' }
18
+ generator.rake 'assets:precompile' # temporarily display errors
19
+ assert_equal 0, $?.exitstatus
20
+ end
21
+
22
+ templating_systems = %w{erb haml slim}
23
+ templating_systems.each do |templating_system|
24
+ test "should copy controller #{templating_system} templates" do
25
+ run_generator %W(-f --template-engine #{templating_system})
26
+
27
+ assert_file "lib/templates/#{templating_system}/controller/view.html.#{templating_system}"
28
+ (templating_systems - [templating_system]).each do |other_templating_system|
29
+ assert_no_file "lib/templates/#{other_templating_system}/controller/view.html.#{other_templating_system}"
30
+ end
31
+ end
32
+
33
+ test "should copy scaffold #{templating_system} templates" do
34
+ run_generator %W(-f --template-engine #{templating_system})
35
+
36
+ %w(index edit new show _form).each do |view|
37
+ assert_file "lib/templates/#{templating_system}/scaffold/#{view}.html.#{templating_system}"
38
+ (templating_systems - [templating_system]).each do |other_templating_system|
39
+ assert_no_file "lib/templates/#{other_templating_system}/scaffold/#{view}.html.#{other_templating_system}"
40
+ end
41
+ end
42
+ end
43
+
44
+ test "should create #{templating_system} layout" do
45
+ run_generator %W(-f --template-engine #{templating_system})
46
+
47
+ assert_file "app/views/layouts/application.html.#{templating_system}"
48
+ end
49
+ end
50
+
51
+ test 'should copy css files' do
52
+ run_generator %w(-f --stylesheet-engine css)
53
+
54
+ assert_file 'app/assets/stylesheets/bootstrap-generators.css'
55
+ end
56
+
57
+ css_preprocessors = %w{scss less}
58
+ css_preprocessors.each do |css_preprocessor|
59
+ test "should copy #{css_preprocessor} files" do
60
+ run_generator %W(-f --stylesheet-engine #{css_preprocessor})
61
+
62
+ assert_file "app/assets/stylesheets/bootstrap-generators.#{css_preprocessor}"
63
+ assert_file "app/assets/stylesheets/bootstrap-variables.#{css_preprocessor}"
64
+ end
65
+ end
66
+
67
+ test 'should require javascript bootstrap file' do
68
+ run_generator
69
+
70
+ assert_file 'app/assets/javascripts/application.js', /require bootstrap/
71
+ end
72
+
73
+ test 'should work when there is no application.js file' do
74
+ File.delete(File.join(destination_root, 'app/assets/javascripts/application.js'))
75
+
76
+ assert_nothing_raised Errno::ENOENT do
77
+ run_generator
78
+ end
79
+ end
80
+
81
+ private
82
+
83
+ def prepare_dummy_app
84
+ FileUtils.cp_r('test/dummy/.', destination_root)
85
+ end
86
+ end
@@ -0,0 +1,7 @@
1
+ ENV['RAILS_ENV'] = 'test'
2
+
3
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
4
+ require 'rails/test_help'
5
+ require 'rails/generators/test_case'
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
metadata ADDED
@@ -0,0 +1,198 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: prefab
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - John Perkins
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: debugger
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: railties
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 3.1.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 3.1.0
83
+ description: Prefab provides Twitter Bootstrap generators for Rails 4 (supported Rails
84
+ >= 3.1). Checkout http://getbootstrap.com.
85
+ email:
86
+ - jeperkins4@gmail.com
87
+ executables: []
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - ".travis.yml"
93
+ - Gemfile
94
+ - LICENSE
95
+ - MIT-LICENSE
96
+ - README.md
97
+ - Rakefile
98
+ - lib/generators/api/USAGE
99
+ - lib/generators/api/api_generator.rb
100
+ - lib/generators/api/templates/api.rb
101
+ - lib/generators/api/templates/api_spec.rb
102
+ - lib/generators/datatable/USAGE
103
+ - lib/generators/datatable/datatable_generator.rb
104
+ - lib/generators/datatable/templates/datatable.rb
105
+ - lib/generators/datatable/templates/javascript.js.coffee
106
+ - lib/generators/report/USAGE
107
+ - lib/generators/report/report_generator.rb
108
+ - lib/generators/report/templates/report.rb
109
+ - lib/generators/report/templates/report_spec.rb
110
+ - lib/generators/service/USAGE
111
+ - lib/generators/service/service_generator.rb
112
+ - lib/generators/service/templates/service.rb
113
+ - lib/generators/service/templates/service_spec.rb
114
+ - lib/prefab.rb
115
+ - lib/prefab/install/install_generator.rb
116
+ - lib/prefab/install/templates/assets/stylesheets/bootstrap-variables.less
117
+ - lib/prefab/install/templates/assets/stylesheets/bootstrap-variables.scss
118
+ - lib/prefab/install/templates/assets/stylesheets/starter.css
119
+ - lib/prefab/install/templates/assets/stylesheets/starter.less
120
+ - lib/prefab/install/templates/assets/stylesheets/starter.scss
121
+ - lib/prefab/install/templates/form_builders/form_builder/_form.html.erb
122
+ - lib/prefab/install/templates/form_builders/form_builder/_form.html.haml
123
+ - lib/prefab/install/templates/form_builders/form_builder/_form.html.slim
124
+ - lib/prefab/install/templates/layouts/starter.html.erb
125
+ - lib/prefab/install/templates/layouts/starter.html.haml
126
+ - lib/prefab/install/templates/layouts/starter.html.slim
127
+ - lib/prefab/install/templates/lib/templates/erb/controller/view.html.erb
128
+ - lib/prefab/install/templates/lib/templates/erb/scaffold/edit.html.erb
129
+ - lib/prefab/install/templates/lib/templates/erb/scaffold/index.html.erb
130
+ - lib/prefab/install/templates/lib/templates/erb/scaffold/new.html.erb
131
+ - lib/prefab/install/templates/lib/templates/erb/scaffold/show.html.erb
132
+ - lib/prefab/install/templates/lib/templates/haml/controller/view.html.haml
133
+ - lib/prefab/install/templates/lib/templates/haml/scaffold/edit.html.haml
134
+ - lib/prefab/install/templates/lib/templates/haml/scaffold/index.html.haml
135
+ - lib/prefab/install/templates/lib/templates/haml/scaffold/new.html.haml
136
+ - lib/prefab/install/templates/lib/templates/haml/scaffold/show.html.haml
137
+ - lib/prefab/install/templates/lib/templates/slim/controller/view.html.slim
138
+ - lib/prefab/install/templates/lib/templates/slim/scaffold/edit.html.slim
139
+ - lib/prefab/install/templates/lib/templates/slim/scaffold/index.html.slim
140
+ - lib/prefab/install/templates/lib/templates/slim/scaffold/new.html.slim
141
+ - lib/prefab/install/templates/lib/templates/slim/scaffold/show.html.slim
142
+ - lib/prefab/version.rb
143
+ - lib/templates/active_record/model/model.rb
144
+ - lib/templates/haml/scaffold/_form.html.haml
145
+ - lib/templates/haml/scaffold/edit.html.haml
146
+ - lib/templates/haml/scaffold/index.html.haml
147
+ - lib/templates/haml/scaffold/new.html.haml
148
+ - lib/templates/haml/scaffold/show.html.haml
149
+ - lib/templates/rails/scaffold_controller/controller.rb
150
+ - lib/templates/rspec/model/model_spec.rb
151
+ - prefab.gemspec
152
+ - test/dummy/Rakefile
153
+ - test/dummy/app/assets/javascripts/application.js
154
+ - test/dummy/app/assets/stylesheets/application.css
155
+ - test/dummy/config.ru
156
+ - test/dummy/config/application.rb
157
+ - test/dummy/config/boot.rb
158
+ - test/dummy/config/environment.rb
159
+ - test/dummy/config/environments/test.rb
160
+ - test/generators/prefab/install_generator_test.rb
161
+ - test/test_helper.rb
162
+ homepage: https://github.com/jeperkins4/prefab
163
+ licenses:
164
+ - MIT
165
+ metadata: {}
166
+ post_install_message:
167
+ rdoc_options: []
168
+ require_paths:
169
+ - lib
170
+ required_ruby_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ requirements: []
181
+ rubyforge_project: prefab
182
+ rubygems_version: 2.2.2
183
+ signing_key:
184
+ specification_version: 4
185
+ summary: Prefab provides Twitter Bootstrap generators for Rails 4 (supported Rails
186
+ >= 3.1).
187
+ test_files:
188
+ - test/dummy/Rakefile
189
+ - test/dummy/app/assets/javascripts/application.js
190
+ - test/dummy/app/assets/stylesheets/application.css
191
+ - test/dummy/config.ru
192
+ - test/dummy/config/application.rb
193
+ - test/dummy/config/boot.rb
194
+ - test/dummy/config/environment.rb
195
+ - test/dummy/config/environments/test.rb
196
+ - test/generators/prefab/install_generator_test.rb
197
+ - test/test_helper.rb
198
+ has_rdoc: