katapult 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +121 -30
  3. data/bin/katapult +59 -21
  4. data/features/binary.feature +29 -16
  5. data/features/katapult.feature +91 -21
  6. data/features/model.feature +46 -2
  7. data/features/step_definitions/file_steps.rb +13 -2
  8. data/features/step_definitions/katapult_steps.rb +9 -3
  9. data/features/step_definitions/rails_steps.rb +5 -4
  10. data/features/step_definitions/test_steps.rb +8 -4
  11. data/features/support/env.rb +6 -4
  12. data/features/wui.feature +16 -1
  13. data/katapult.gemspec +3 -3
  14. data/lib/generators/katapult/basics/basics_generator.rb +51 -26
  15. data/lib/generators/katapult/basics/templates/.gitignore +27 -0
  16. data/lib/generators/katapult/basics/templates/Gemfile +3 -2
  17. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/{_all.css.sass → _all.sass} +0 -0
  18. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/{_items.css.sass → _items.sass} +0 -0
  19. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/{_layout.css.sass → _layout.sass} +0 -0
  20. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/{_navigation.css.sass → _navigation.sass} +0 -0
  21. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/{_tools.css.sass → _tools.sass} +0 -0
  22. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/{application.css.sass → application.sass} +0 -0
  23. data/lib/generators/katapult/basics/templates/config/cucumber.yml +10 -0
  24. data/lib/generators/katapult/basics/templates/config/database.sample.yml +1 -4
  25. data/lib/generators/katapult/basics/templates/config/database.yml +2 -2
  26. data/lib/generators/katapult/basics/templates/config/initializers/exception_notification.rb.tt +16 -0
  27. data/lib/generators/katapult/basics/templates/config/initializers/find_by_anything.rb +19 -0
  28. data/lib/generators/katapult/basics/templates/config/initializers/form_for_with_development_errors.rb +45 -0
  29. data/lib/generators/katapult/basics/templates/features/support/capybara_screenshot.rb +4 -0
  30. data/lib/generators/katapult/basics/templates/features/support/cucumber_factory.rb +1 -0
  31. data/lib/generators/katapult/basics/templates/features/support/database_cleaner.rb +3 -0
  32. data/lib/generators/katapult/basics/templates/features/support/selectors.rb +56 -0
  33. data/lib/generators/katapult/basics/templates/spec/support/shoulda_matchers.rb +8 -0
  34. data/lib/generators/katapult/haml/templates/app/views/layouts/application.html.haml +2 -0
  35. data/lib/generators/katapult/transform/transform_generator.rb +13 -18
  36. data/lib/generators/katapult/w_u_i/w_u_i_generator.rb +14 -1
  37. data/lib/katapult/version.rb +1 -1
  38. metadata +28 -18
@@ -14,7 +14,6 @@ module Katapult
14
14
  argument :path, required: true, type: :string,
15
15
  description: 'The path to the application model file'
16
16
 
17
-
18
17
  def transform_application_model
19
18
  say_status :parse, path
20
19
  @app_model = Katapult::Parser.new.parse(path)
@@ -24,32 +23,28 @@ module Katapult
24
23
  end
25
24
 
26
25
  def write_root_route
27
- root_wui = @app_model.wuis.find do |wui|
28
- wui.find_action :index
26
+ unless File.read('config/routes.rb').include? ' root'
27
+ root_wui = @app_model.wuis.find { |w| w.find_action :index }
28
+ route "root '#{ root_wui.model_name(:variables) }#index'" if root_wui
29
29
  end
30
-
31
- route "root '#{ root_wui.model_name(:variables) }#index'" if root_wui
32
- end
33
-
34
- def migrate
35
- run 'bin/rake db:drop:all &> /dev/null'
36
- run 'bin/rake db:create db:migrate RAILS_ENV=development'
37
- run 'bin/rake db:create db:migrate RAILS_ENV=test'
38
30
  end
39
31
 
40
- def print_instructions
41
- puts <<-INSTRUCTIONS.strip_heredoc
42
-
43
- You're done! Now boot up your development server (e.g. with `rails server`)
44
- and try your kickstarted application in the browser.
45
- INSTRUCTIONS
32
+ def remigrate_all_databases
33
+ run 'spring stop' # parallel_tests does not work together with Spring
34
+ run 'rake db:drop:all db:create:all db:migrate parallel:create parallel:prepare'
46
35
  end
47
36
 
48
- private
37
+ private
49
38
 
50
39
  def application_name
51
40
  File.basename(Dir.pwd)
52
41
  end
53
42
 
43
+ def run(*)
44
+ Bundler.with_clean_env do
45
+ super
46
+ end
47
+ end
48
+
54
49
  end
55
50
  end
@@ -18,7 +18,20 @@ module Katapult
18
18
  end
19
19
 
20
20
  def add_route
21
- route render_partial('_route.rb')
21
+ route = model_name(:symbols)
22
+ routes = File.read('config/routes.rb')
23
+
24
+ if routes.include? "resources #{ route }"
25
+ say_status :warn, <<MESSAGE, :red
26
+ Routes for #{ route } already exist! Not updated.
27
+
28
+ In order to keep existing routes created by the user, the config/routes.rb file
29
+ is not wiped on model transformation. To have Katapult update the #{ route}
30
+ route for you, delete it before transforming the application model.
31
+ MESSAGE
32
+ else
33
+ route render_partial('_route.rb')
34
+ end
22
35
  end
23
36
 
24
37
  def generate_views
@@ -1,3 +1,3 @@
1
1
  module Katapult
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katapult
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominik Schöler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-11 00:00:00.000000000 Z
11
+ date: 2015-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -84,16 +84,16 @@ dependencies:
84
84
  name: aruba
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 0.10.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 0.10.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: guard-cucumber
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 3.4.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 3.4.0
125
125
  description: Katapult is a framework for generating base code
126
126
  email:
127
127
  - dominik.schoeler@makandra.de
@@ -154,19 +154,29 @@ files:
154
154
  - katapult.gemspec
155
155
  - katapult.png
156
156
  - lib/generators/katapult/basics/basics_generator.rb
157
+ - lib/generators/katapult/basics/templates/.gitignore
157
158
  - lib/generators/katapult/basics/templates/.ruby-version
158
159
  - lib/generators/katapult/basics/templates/Gemfile
159
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application.css.sass
160
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_all.css.sass
161
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_items.css.sass
162
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_layout.css.sass
163
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_navigation.css.sass
164
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_tools.css.sass
160
+ - lib/generators/katapult/basics/templates/app/assets/stylesheets/application.sass
161
+ - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_all.sass
162
+ - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_items.sass
163
+ - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_layout.sass
164
+ - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_navigation.sass
165
+ - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_tools.sass
166
+ - lib/generators/katapult/basics/templates/config/cucumber.yml
165
167
  - lib/generators/katapult/basics/templates/config/database.sample.yml
166
168
  - lib/generators/katapult/basics/templates/config/database.yml
169
+ - lib/generators/katapult/basics/templates/config/initializers/exception_notification.rb.tt
170
+ - lib/generators/katapult/basics/templates/config/initializers/find_by_anything.rb
171
+ - lib/generators/katapult/basics/templates/config/initializers/form_for_with_development_errors.rb
167
172
  - lib/generators/katapult/basics/templates/config/spring.rb
173
+ - lib/generators/katapult/basics/templates/features/support/capybara_screenshot.rb
174
+ - lib/generators/katapult/basics/templates/features/support/cucumber_factory.rb
175
+ - lib/generators/katapult/basics/templates/features/support/database_cleaner.rb
168
176
  - lib/generators/katapult/basics/templates/features/support/env-custom.rb
169
177
  - lib/generators/katapult/basics/templates/features/support/paths.rb
178
+ - lib/generators/katapult/basics/templates/features/support/selectors.rb
179
+ - lib/generators/katapult/basics/templates/spec/support/shoulda_matchers.rb
170
180
  - lib/generators/katapult/cucumber_features/cucumber_features_generator.rb
171
181
  - lib/generators/katapult/cucumber_features/templates/feature.feature
172
182
  - lib/generators/katapult/haml/haml_generator.rb
@@ -220,7 +230,7 @@ require_paths:
220
230
  - lib
221
231
  required_ruby_version: !ruby/object:Gem::Requirement
222
232
  requirements:
223
- - - ">="
233
+ - - "~>"
224
234
  - !ruby/object:Gem::Version
225
235
  version: '2.0'
226
236
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -230,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
240
  version: '0'
231
241
  requirements: []
232
242
  rubyforge_project:
233
- rubygems_version: 2.4.3
243
+ rubygems_version: 2.4.8
234
244
  signing_key:
235
245
  specification_version: 4
236
246
  summary: Kickstart Rails development