katapult 0.2.0 → 0.3.0

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 (143) hide show
  1. checksums.yaml +5 -5
  2. data/.rspec +1 -0
  3. data/.ruby-version +1 -1
  4. data/Gemfile +9 -0
  5. data/README.md +122 -94
  6. data/Rakefile +13 -0
  7. data/bin/katapult +59 -25
  8. data/features/application_model.feature +55 -0
  9. data/features/authenticate.feature +88 -62
  10. data/features/basics.feature +64 -402
  11. data/features/binary.feature +56 -42
  12. data/features/configuration.feature +4 -4
  13. data/features/model.feature +21 -30
  14. data/features/navigation.feature +35 -48
  15. data/features/step_definitions/aruba_steps.rb +3 -0
  16. data/features/step_definitions/katapult_steps.rb +307 -8
  17. data/features/step_definitions/rails_steps.rb +74 -14
  18. data/features/step_definitions/test_steps.rb +5 -5
  19. data/features/step_definitions/version_steps.rb +22 -0
  20. data/features/support/env.rb +11 -3
  21. data/features/{wui.feature → web_ui.feature} +175 -148
  22. data/katapult.gemspec +8 -13
  23. data/lib/generators/katapult/app_model/app_model_generator.rb +12 -0
  24. data/lib/generators/katapult/app_model/templates/lib/katapult/application_model.rb +40 -0
  25. data/lib/generators/katapult/basics/basics_generator.rb +186 -51
  26. data/lib/generators/katapult/basics/templates/.browserslistrc +1 -0
  27. data/lib/generators/katapult/basics/templates/.gitignore +20 -21
  28. data/lib/generators/katapult/basics/templates/.rspec_parallel +3 -0
  29. data/lib/generators/katapult/basics/templates/Capfile +5 -1
  30. data/lib/generators/katapult/basics/templates/Gemfile +23 -34
  31. data/lib/generators/katapult/basics/templates/Guardfile +0 -12
  32. data/lib/generators/katapult/basics/templates/app/controllers/errors_controller.rb +9 -0
  33. data/lib/generators/katapult/basics/templates/app/helpers/unpoly_helper.rb +13 -0
  34. data/lib/generators/katapult/{haml → basics}/templates/app/views/layouts/_flashes.html.haml +1 -1
  35. data/lib/generators/katapult/basics/templates/app/views/layouts/_menu_bar.html.haml.tt +12 -0
  36. data/lib/generators/katapult/basics/templates/app/views/layouts/application.html.haml.tt +25 -0
  37. data/lib/generators/katapult/basics/templates/app/webpack/assets/images/.keep +0 -0
  38. data/lib/generators/katapult/basics/templates/app/webpack/assets/index.js +16 -0
  39. data/lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/application.js +0 -0
  40. data/lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/bootstrap.js +12 -0
  41. data/lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/compilers/.keep +0 -0
  42. data/lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/macros/content_link.js +17 -0
  43. data/lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/macros/modal_link.js +17 -0
  44. data/lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/unpoly.js +9 -0
  45. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/_definitions.sass +25 -0
  46. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/_environment.sass +2 -0
  47. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/_mixins.sass +3 -0
  48. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/blocks/.keep +0 -0
  49. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/custom_bootstrap.sass +50 -0
  50. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/ext/.keep +0 -0
  51. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/ext/bootstrap/navbar.sass +83 -0
  52. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/theme.sass +11 -0
  53. data/lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/unpoly.sass +2 -0
  54. data/lib/generators/katapult/basics/templates/app/webpack/packs/application.js +13 -0
  55. data/lib/generators/katapult/basics/templates/config/database.sample.yml +1 -1
  56. data/lib/generators/katapult/basics/templates/config/deploy.rb +3 -4
  57. data/lib/generators/katapult/basics/templates/config/environments/staging.rb +5 -0
  58. data/lib/generators/katapult/basics/templates/config/initializers/better_errors.rb +23 -0
  59. data/lib/generators/katapult/basics/templates/config/initializers/exception_notification.rb.tt +1 -1
  60. data/lib/generators/katapult/basics/templates/config/initializers/ext.rb +1 -1
  61. data/lib/generators/katapult/basics/templates/config/webpack/loaders/unpoly.js +4 -0
  62. data/lib/generators/katapult/basics/templates/features/support/capybara_screenshot.rb +7 -0
  63. data/lib/generators/katapult/basics/templates/features/support/factory_bot.rb +1 -0
  64. data/lib/generators/katapult/basics/templates/features/support/paths.rb +7 -2
  65. data/lib/generators/katapult/basics/templates/features/support/rspec_doubles.rb +1 -0
  66. data/lib/generators/katapult/basics/templates/features/support/selectors.rb +3 -3
  67. data/lib/generators/katapult/basics/templates/features/support/selenium.rb +13 -0
  68. data/lib/generators/katapult/basics/templates/features/support/{env-custom.rb → spreewald.rb} +0 -0
  69. data/lib/generators/katapult/basics/templates/features/support/webpacker.rb +35 -0
  70. data/lib/generators/katapult/basics/templates/lib/ext/action_view/form_for_with_development_errors.rb +31 -31
  71. data/lib/generators/katapult/basics/templates/lib/ext/active_record/find_by_anything.rb +4 -3
  72. data/lib/generators/katapult/basics/templates/public/robots.txt +5 -0
  73. data/lib/generators/katapult/basics/templates/spec/assets/sample.pdf +0 -0
  74. data/lib/generators/katapult/basics/templates/spec/factories/factories.rb +1 -1
  75. data/lib/generators/katapult/basics/templates/spec/support/database_cleaner.rb +20 -0
  76. data/lib/generators/katapult/basics/templates/spec/support/factory_bot.rb +3 -0
  77. data/lib/generators/katapult/basics/templates/spec/support/fixture_file.rb +6 -0
  78. data/lib/generators/katapult/basics/templates/spec/support/postgresql_sequences.rb +15 -0
  79. data/lib/generators/katapult/basics/templates/spec/support/timecop.rb +3 -0
  80. data/lib/generators/katapult/clearance/clearance_generator.rb +14 -2
  81. data/lib/generators/katapult/clearance/templates/app/views/layouts/_current_user.html.haml +11 -0
  82. data/lib/generators/katapult/clearance/templates/app/views/passwords/create.html.haml +10 -4
  83. data/lib/generators/katapult/clearance/templates/app/views/passwords/edit.html.haml +12 -12
  84. data/lib/generators/katapult/clearance/templates/app/views/passwords/new.html.haml +14 -11
  85. data/lib/generators/katapult/clearance/templates/app/views/sessions/new.html.haml +16 -15
  86. data/lib/generators/katapult/clearance/templates/features/authentication.feature +3 -3
  87. data/lib/generators/katapult/cucumber_features/templates/feature.feature +1 -1
  88. data/lib/generators/katapult/model_specs/templates/model_spec.rb +3 -5
  89. data/lib/generators/katapult/navigation/navigation_generator.rb +7 -1
  90. data/lib/generators/katapult/navigation/templates/app/views/layouts/_navigation.html.haml +15 -0
  91. data/lib/generators/katapult/transform/transform_generator.rb +12 -17
  92. data/lib/generators/katapult/views/templates/_form.html.haml +48 -0
  93. data/lib/generators/katapult/views/templates/app/helpers/table_helper.rb +14 -0
  94. data/lib/generators/katapult/views/templates/app/webpack/assets/stylesheets/blocks/action_bar.sass +22 -0
  95. data/lib/generators/katapult/views/templates/app/webpack/assets/stylesheets/blocks/title.sass +11 -0
  96. data/lib/generators/katapult/views/templates/custom_action.html.haml +5 -0
  97. data/lib/generators/katapult/views/templates/edit.html.haml +4 -0
  98. data/lib/generators/katapult/views/templates/index.html.haml +26 -0
  99. data/lib/generators/katapult/{haml → views}/templates/new.html.haml +1 -1
  100. data/lib/generators/katapult/views/templates/show.html.haml +39 -0
  101. data/lib/generators/katapult/{haml/haml_generator.rb → views/views_generator.rb} +19 -25
  102. data/lib/generators/katapult/{w_u_i → web_ui}/templates/_route.rb +3 -3
  103. data/lib/generators/katapult/{w_u_i → web_ui}/templates/controller.rb +21 -23
  104. data/lib/generators/katapult/{w_u_i/w_u_i_generator.rb → web_ui/web_ui_generator.rb} +7 -12
  105. data/lib/katapult/action.rb +1 -1
  106. data/lib/katapult/application_model.rb +8 -8
  107. data/lib/katapult/binary_util.rb +48 -10
  108. data/lib/katapult/generator.rb +2 -10
  109. data/lib/katapult/generator_goodies.rb +23 -0
  110. data/lib/katapult/navigation.rb +10 -5
  111. data/lib/katapult/parser.rb +15 -8
  112. data/lib/katapult/version.rb +5 -1
  113. data/lib/katapult/{wui.rb → web_ui.rb} +19 -4
  114. data/lib/katapult.rb +0 -5
  115. data/script/console +5 -2
  116. data/script/kta +8 -0
  117. data/script/update +80 -0
  118. data/spec/action_spec.rb +0 -1
  119. data/spec/attribute_spec.rb +0 -1
  120. data/spec/element_spec.rb +0 -1
  121. data/spec/model_spec.rb +0 -1
  122. data/spec/parser_spec.rb +26 -0
  123. data/spec/util_spec.rb +0 -1
  124. data/spec/{wui_spec.rb → web_ui_spec.rb} +24 -12
  125. metadata +86 -124
  126. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_all.sass +0 -4
  127. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_items.sass +0 -11
  128. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_layout.sass +0 -26
  129. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_navigation.sass +0 -11
  130. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_tools.sass +0 -12
  131. data/lib/generators/katapult/basics/templates/app/assets/stylesheets/application.sass +0 -6
  132. data/lib/generators/katapult/basics/templates/config/spring.rb +0 -3
  133. data/lib/generators/katapult/basics/templates/features/support/factory_girl.rb +0 -1
  134. data/lib/generators/katapult/basics/templates/spec/support/factory_girl.rb +0 -3
  135. data/lib/generators/katapult/haml/templates/_form.html.haml +0 -38
  136. data/lib/generators/katapult/haml/templates/app/views/layouts/application.html.haml +0 -33
  137. data/lib/generators/katapult/haml/templates/custom_action.html.haml +0 -5
  138. data/lib/generators/katapult/haml/templates/edit.html.haml +0 -4
  139. data/lib/generators/katapult/haml/templates/index.html.haml +0 -29
  140. data/lib/generators/katapult/haml/templates/show.html.haml +0 -39
  141. data/lib/generators/katapult/install/install_generator.rb +0 -14
  142. data/lib/generators/katapult/install/templates/lib/katapult/application_model.rb +0 -20
  143. data/lib/generators/katapult/navigation/templates/app/models/navigation.rb +0 -12
@@ -1,11 +1,10 @@
1
- require 'spec_helper'
2
- require 'katapult/wui'
1
+ require 'katapult/web_ui'
3
2
  require 'katapult/model'
4
3
  require 'katapult/application_model'
5
4
 
6
- describe Katapult::WUI do
5
+ describe Katapult::WebUI do
7
6
 
8
- subject { described_class.new 'wui' }
7
+ subject { described_class.new 'web_ui' }
9
8
 
10
9
  let(:application_model) { Katapult::ApplicationModel.new }
11
10
 
@@ -13,23 +12,23 @@ describe Katapult::WUI do
13
12
  it 'raises an error if the given action does not exist' do
14
13
  expect do
15
14
  subject.path(:foobar)
16
- end.to raise_error(Katapult::WUI::UnknownActionError)
15
+ end.to raise_error(Katapult::WebUI::UnknownActionError)
17
16
  end
18
17
  end
19
18
 
20
19
  describe '#crud_only?' do
21
- it 'is true for a crud WUI' do
20
+ it 'is true for a crud WebUI' do
22
21
  subject.crud
23
22
  expect(subject.crud_only?).to be true
24
23
  end
25
24
 
26
- it 'is false if the WUI has custom actions' do
25
+ it 'is false if the WebUI has custom actions' do
27
26
  subject.crud
28
27
  subject.action :custom, method: :get, scope: :collection
29
28
  expect(subject.crud_only?).to be false
30
29
  end
31
30
 
32
- it 'is false if the WUI does not have all CRUD actions' do
31
+ it 'is false if the WebUI does not have all CRUD actions' do
33
32
  subject.action :index
34
33
  subject.action :show
35
34
  expect(subject.crud_only?).to be false
@@ -41,7 +40,7 @@ describe Katapult::WUI do
41
40
  subject = described_class.new('Customer', model: 'User')
42
41
  model = Katapult::Model.new('User')
43
42
 
44
- application_model.add_wui(subject)
43
+ application_model.add_web_ui(subject)
45
44
  application_model.add_model(model)
46
45
 
47
46
  expect(subject.model).to eql(model)
@@ -51,7 +50,7 @@ describe Katapult::WUI do
51
50
  subject = described_class.new('Customer')
52
51
  model = Katapult::Model.new('Customer')
53
52
 
54
- application_model.add_wui(subject)
53
+ application_model.add_web_ui(subject)
55
54
  application_model.add_model(model)
56
55
 
57
56
  expect(subject.model).to eql(model)
@@ -59,9 +58,22 @@ describe Katapult::WUI do
59
58
 
60
59
  it 'raises an error if it cannot find the model' do
61
60
  subject = described_class.new('MissingModel')
62
- application_model.add_wui(subject)
61
+ application_model.add_web_ui(subject)
63
62
 
64
- expect{ subject.model }.to raise_error(Katapult::WUI::UnknownModelError)
63
+ expect{ subject.model }.to raise_error(Katapult::WebUI::UnknownModelError)
64
+ end
65
+ end
66
+
67
+ describe '#render' do
68
+ it 'raises an error when its model does not have a label attribute' do
69
+ subject = described_class.new('user')
70
+ model = Katapult::Model.new('user')
71
+
72
+ application_model.add_web_ui(subject)
73
+ application_model.add_model(model)
74
+
75
+ expect{ subject.render }.to raise_error Katapult::WebUI::MissingLabelAttrError,
76
+ 'Cannot render a WebUI without a model with a label attribute'
65
77
  end
66
78
  end
67
79
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katapult
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
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: 2016-05-09 00:00:00.000000000 Z
11
+ date: 2018-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.1.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 5.1.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: spring
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,91 +38,10 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.5'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.5'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
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: pry
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: aruba
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 0.10.2
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 0.10.2
97
- - !ruby/object:Gem::Dependency
98
- name: guard-cucumber
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 3.4.0
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: 3.4.0
125
- description: Katapult is a framework for generating base code
41
+ description: "\n Katapult is a framework for generating base code for Rails applications
42
+ in\n two leaps. Basics Generation prepares a new Rails application with lots
43
+ of\n best practices, Model Transformation generates application code from a model\n
44
+ \ of the application.\n "
126
45
  email:
127
46
  - dominik.schoeler@makandra.de
128
47
  executables:
@@ -139,49 +58,78 @@ files:
139
58
  - README.md
140
59
  - Rakefile
141
60
  - bin/katapult
61
+ - features/application_model.feature
142
62
  - features/authenticate.feature
143
63
  - features/basics.feature
144
64
  - features/binary.feature
145
65
  - features/configuration.feature
146
66
  - features/model.feature
147
67
  - features/navigation.feature
68
+ - features/step_definitions/aruba_steps.rb
148
69
  - features/step_definitions/db_steps.rb
149
70
  - features/step_definitions/file_steps.rb
150
71
  - features/step_definitions/katapult_steps.rb
151
72
  - features/step_definitions/rails_steps.rb
152
73
  - features/step_definitions/test_steps.rb
74
+ - features/step_definitions/version_steps.rb
153
75
  - features/support/env.rb
154
- - features/wui.feature
76
+ - features/web_ui.feature
155
77
  - katapult.gemspec
156
78
  - katapult.png
79
+ - lib/generators/katapult/app_model/app_model_generator.rb
80
+ - lib/generators/katapult/app_model/templates/lib/katapult/application_model.rb
157
81
  - lib/generators/katapult/basics/basics_generator.rb
82
+ - lib/generators/katapult/basics/templates/.browserslistrc
158
83
  - lib/generators/katapult/basics/templates/.gitignore
84
+ - lib/generators/katapult/basics/templates/.rspec_parallel
159
85
  - lib/generators/katapult/basics/templates/.ruby-version
160
86
  - lib/generators/katapult/basics/templates/Capfile
161
87
  - lib/generators/katapult/basics/templates/Gemfile
162
88
  - lib/generators/katapult/basics/templates/Guardfile
163
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application.sass
164
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_all.sass
165
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_items.sass
166
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_layout.sass
167
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_navigation.sass
168
- - lib/generators/katapult/basics/templates/app/assets/stylesheets/application/blocks/_tools.sass
89
+ - lib/generators/katapult/basics/templates/app/controllers/errors_controller.rb
90
+ - lib/generators/katapult/basics/templates/app/helpers/unpoly_helper.rb
91
+ - lib/generators/katapult/basics/templates/app/views/layouts/_flashes.html.haml
92
+ - lib/generators/katapult/basics/templates/app/views/layouts/_menu_bar.html.haml.tt
93
+ - lib/generators/katapult/basics/templates/app/views/layouts/application.html.haml.tt
94
+ - lib/generators/katapult/basics/templates/app/webpack/assets/images/.keep
95
+ - lib/generators/katapult/basics/templates/app/webpack/assets/index.js
96
+ - lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/application.js
97
+ - lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/bootstrap.js
98
+ - lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/compilers/.keep
99
+ - lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/macros/content_link.js
100
+ - lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/macros/modal_link.js
101
+ - lib/generators/katapult/basics/templates/app/webpack/assets/javascripts/unpoly.js
102
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/_definitions.sass
103
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/_environment.sass
104
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/_mixins.sass
105
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/blocks/.keep
106
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/custom_bootstrap.sass
107
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/ext/.keep
108
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/ext/bootstrap/navbar.sass
109
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/theme.sass
110
+ - lib/generators/katapult/basics/templates/app/webpack/assets/stylesheets/unpoly.sass
111
+ - lib/generators/katapult/basics/templates/app/webpack/packs/application.js
169
112
  - lib/generators/katapult/basics/templates/config/cucumber.yml
170
113
  - lib/generators/katapult/basics/templates/config/database.sample.yml
171
114
  - lib/generators/katapult/basics/templates/config/database.yml
172
115
  - lib/generators/katapult/basics/templates/config/deploy.rb
173
116
  - lib/generators/katapult/basics/templates/config/deploy/production.rb
174
117
  - lib/generators/katapult/basics/templates/config/deploy/staging.rb
118
+ - lib/generators/katapult/basics/templates/config/environments/staging.rb
119
+ - lib/generators/katapult/basics/templates/config/initializers/better_errors.rb
175
120
  - lib/generators/katapult/basics/templates/config/initializers/exception_notification.rb.tt
176
121
  - lib/generators/katapult/basics/templates/config/initializers/ext.rb
177
- - lib/generators/katapult/basics/templates/config/spring.rb
122
+ - lib/generators/katapult/basics/templates/config/webpack/loaders/unpoly.js
178
123
  - lib/generators/katapult/basics/templates/features/support/capybara_screenshot.rb
179
124
  - lib/generators/katapult/basics/templates/features/support/cucumber_factory.rb
180
125
  - lib/generators/katapult/basics/templates/features/support/database_cleaner.rb
181
- - lib/generators/katapult/basics/templates/features/support/env-custom.rb
182
- - lib/generators/katapult/basics/templates/features/support/factory_girl.rb
126
+ - lib/generators/katapult/basics/templates/features/support/factory_bot.rb
183
127
  - lib/generators/katapult/basics/templates/features/support/paths.rb
128
+ - lib/generators/katapult/basics/templates/features/support/rspec_doubles.rb
184
129
  - lib/generators/katapult/basics/templates/features/support/selectors.rb
130
+ - lib/generators/katapult/basics/templates/features/support/selenium.rb
131
+ - lib/generators/katapult/basics/templates/features/support/spreewald.rb
132
+ - lib/generators/katapult/basics/templates/features/support/webpacker.rb
185
133
  - lib/generators/katapult/basics/templates/lib/capistrano/tasks/db.rake
186
134
  - lib/generators/katapult/basics/templates/lib/capistrano/tasks/deploy.rake
187
135
  - lib/generators/katapult/basics/templates/lib/capistrano/tasks/passenger.rake
@@ -195,13 +143,20 @@ files:
195
143
  - lib/generators/katapult/basics/templates/lib/ext/string/html_entities.rb
196
144
  - lib/generators/katapult/basics/templates/lib/ext/string/to_sort_atoms.rb
197
145
  - lib/generators/katapult/basics/templates/lib/tasks/pending_migrations.rake
146
+ - lib/generators/katapult/basics/templates/public/robots.txt
147
+ - lib/generators/katapult/basics/templates/spec/assets/sample.pdf
198
148
  - lib/generators/katapult/basics/templates/spec/factories/factories.rb
199
- - lib/generators/katapult/basics/templates/spec/support/factory_girl.rb
149
+ - lib/generators/katapult/basics/templates/spec/support/database_cleaner.rb
150
+ - lib/generators/katapult/basics/templates/spec/support/factory_bot.rb
151
+ - lib/generators/katapult/basics/templates/spec/support/fixture_file.rb
152
+ - lib/generators/katapult/basics/templates/spec/support/postgresql_sequences.rb
200
153
  - lib/generators/katapult/basics/templates/spec/support/shoulda_matchers.rb
154
+ - lib/generators/katapult/basics/templates/spec/support/timecop.rb
201
155
  - lib/generators/katapult/clearance/clearance_generator.rb
202
156
  - lib/generators/katapult/clearance/templates/app/controllers/passwords_controller.rb
203
157
  - lib/generators/katapult/clearance/templates/app/views/clearance_mailer/change_password.html.haml
204
158
  - lib/generators/katapult/clearance/templates/app/views/clearance_mailer/change_password.text.erb
159
+ - lib/generators/katapult/clearance/templates/app/views/layouts/_current_user.html.haml
205
160
  - lib/generators/katapult/clearance/templates/app/views/passwords/create.html.haml
206
161
  - lib/generators/katapult/clearance/templates/app/views/passwords/edit.html.haml
207
162
  - lib/generators/katapult/clearance/templates/app/views/passwords/new.html.haml
@@ -212,28 +167,27 @@ files:
212
167
  - lib/generators/katapult/clearance/templates/features/step_definitions/authentication_steps.rb
213
168
  - lib/generators/katapult/cucumber_features/cucumber_features_generator.rb
214
169
  - lib/generators/katapult/cucumber_features/templates/feature.feature
215
- - lib/generators/katapult/haml/haml_generator.rb
216
- - lib/generators/katapult/haml/templates/_form.html.haml
217
- - lib/generators/katapult/haml/templates/app/views/layouts/_flashes.html.haml
218
- - lib/generators/katapult/haml/templates/app/views/layouts/application.html.haml
219
- - lib/generators/katapult/haml/templates/custom_action.html.haml
220
- - lib/generators/katapult/haml/templates/edit.html.haml
221
- - lib/generators/katapult/haml/templates/index.html.haml
222
- - lib/generators/katapult/haml/templates/new.html.haml
223
- - lib/generators/katapult/haml/templates/show.html.haml
224
- - lib/generators/katapult/install/install_generator.rb
225
- - lib/generators/katapult/install/templates/lib/katapult/application_model.rb
226
170
  - lib/generators/katapult/model/model_generator.rb
227
171
  - lib/generators/katapult/model/templates/app/models/shared/does_flag.rb
228
172
  - lib/generators/katapult/model/templates/model.rb
229
173
  - lib/generators/katapult/model_specs/model_specs_generator.rb
230
174
  - lib/generators/katapult/model_specs/templates/model_spec.rb
231
175
  - lib/generators/katapult/navigation/navigation_generator.rb
232
- - lib/generators/katapult/navigation/templates/app/models/navigation.rb
176
+ - lib/generators/katapult/navigation/templates/app/views/layouts/_navigation.html.haml
233
177
  - lib/generators/katapult/transform/transform_generator.rb
234
- - lib/generators/katapult/w_u_i/templates/_route.rb
235
- - lib/generators/katapult/w_u_i/templates/controller.rb
236
- - lib/generators/katapult/w_u_i/w_u_i_generator.rb
178
+ - lib/generators/katapult/views/templates/_form.html.haml
179
+ - lib/generators/katapult/views/templates/app/helpers/table_helper.rb
180
+ - lib/generators/katapult/views/templates/app/webpack/assets/stylesheets/blocks/action_bar.sass
181
+ - lib/generators/katapult/views/templates/app/webpack/assets/stylesheets/blocks/title.sass
182
+ - lib/generators/katapult/views/templates/custom_action.html.haml
183
+ - lib/generators/katapult/views/templates/edit.html.haml
184
+ - lib/generators/katapult/views/templates/index.html.haml
185
+ - lib/generators/katapult/views/templates/new.html.haml
186
+ - lib/generators/katapult/views/templates/show.html.haml
187
+ - lib/generators/katapult/views/views_generator.rb
188
+ - lib/generators/katapult/web_ui/templates/_route.rb
189
+ - lib/generators/katapult/web_ui/templates/controller.rb
190
+ - lib/generators/katapult/web_ui/web_ui_generator.rb
237
191
  - lib/katapult.rb
238
192
  - lib/katapult/action.rb
239
193
  - lib/katapult/application_model.rb
@@ -242,19 +196,23 @@ files:
242
196
  - lib/katapult/binary_util.rb
243
197
  - lib/katapult/element.rb
244
198
  - lib/katapult/generator.rb
199
+ - lib/katapult/generator_goodies.rb
245
200
  - lib/katapult/model.rb
246
201
  - lib/katapult/navigation.rb
247
202
  - lib/katapult/parser.rb
248
203
  - lib/katapult/version.rb
249
- - lib/katapult/wui.rb
204
+ - lib/katapult/web_ui.rb
250
205
  - script/console
206
+ - script/kta
207
+ - script/update
251
208
  - spec/action_spec.rb
252
209
  - spec/attribute_spec.rb
253
210
  - spec/element_spec.rb
254
211
  - spec/model_spec.rb
212
+ - spec/parser_spec.rb
255
213
  - spec/spec_helper.rb
256
214
  - spec/util_spec.rb
257
- - spec/wui_spec.rb
215
+ - spec/web_ui_spec.rb
258
216
  homepage: https://github.com/makandra/katapult
259
217
  licenses:
260
218
  - MIT
@@ -265,9 +223,9 @@ require_paths:
265
223
  - lib
266
224
  required_ruby_version: !ruby/object:Gem::Requirement
267
225
  requirements:
268
- - - "~>"
226
+ - - ">="
269
227
  - !ruby/object:Gem::Version
270
- version: '2.0'
228
+ version: '0'
271
229
  required_rubygems_version: !ruby/object:Gem::Requirement
272
230
  requirements:
273
231
  - - ">="
@@ -275,28 +233,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
275
233
  version: '0'
276
234
  requirements: []
277
235
  rubyforge_project:
278
- rubygems_version: 2.5.1
236
+ rubygems_version: 2.7.3
279
237
  signing_key:
280
238
  specification_version: 4
281
239
  summary: Kickstart Rails development
282
240
  test_files:
241
+ - features/application_model.feature
283
242
  - features/authenticate.feature
284
243
  - features/basics.feature
285
244
  - features/binary.feature
286
245
  - features/configuration.feature
287
246
  - features/model.feature
288
247
  - features/navigation.feature
248
+ - features/step_definitions/aruba_steps.rb
289
249
  - features/step_definitions/db_steps.rb
290
250
  - features/step_definitions/file_steps.rb
291
251
  - features/step_definitions/katapult_steps.rb
292
252
  - features/step_definitions/rails_steps.rb
293
253
  - features/step_definitions/test_steps.rb
254
+ - features/step_definitions/version_steps.rb
294
255
  - features/support/env.rb
295
- - features/wui.feature
256
+ - features/web_ui.feature
296
257
  - spec/action_spec.rb
297
258
  - spec/attribute_spec.rb
298
259
  - spec/element_spec.rb
299
260
  - spec/model_spec.rb
261
+ - spec/parser_spec.rb
300
262
  - spec/spec_helper.rb
301
263
  - spec/util_spec.rb
302
- - spec/wui_spec.rb
264
+ - spec/web_ui_spec.rb
@@ -1,4 +0,0 @@
1
- @import items
2
- @import layout
3
- @import navigation
4
- @import tools
@@ -1,11 +0,0 @@
1
- table.items
2
- @extend .table
3
- @extend .table-striped
4
-
5
- .items__actions
6
- @extend .btn-group
7
-
8
- .items__action
9
- @extend .btn
10
- @extend .btn-default
11
- @extend .btn-xs
@@ -1,26 +0,0 @@
1
- @import compass/css3/box-shadow
2
- @import bootstrap/variables
3
-
4
- .layout
5
- margin: 100px auto
6
- width: 800px
7
-
8
- background-color: white
9
- +single-box-shadow
10
-
11
- .layout__head
12
- padding: 10px 35px
13
-
14
- color: #fff
15
- background-color: $brand-primary
16
-
17
- .layout__main
18
- padding: 20px 35px
19
-
20
- .layout__tail
21
- padding: 10px 35px
22
-
23
- color: $gray-light
24
- background-color: $gray-lighter
25
- border-top: 1px solid darken($gray-lighter, 10%)
26
- font-size: $font-size-small
@@ -1,11 +0,0 @@
1
- .navy-layouted-sections
2
- @extend .btn-group
3
-
4
- .navy-section
5
- @extend .btn
6
- @extend .btn-info
7
-
8
- text-transform: uppercase
9
-
10
- &.navy-current
11
- @extend .btn-default
@@ -1,12 +0,0 @@
1
- @import bootstrap/variables
2
-
3
- .tools
4
- @extend .btn-group
5
- margin-bottom: $line-height-computed / 2
6
-
7
- .tools__button
8
- @extend .btn
9
- @extend .btn-default
10
-
11
- .tools__button.is_primary
12
- @extend .btn-primary
@@ -1,6 +0,0 @@
1
- $body-bg: #ddd
2
-
3
- @import compass
4
- @import bootstrap
5
-
6
- @import application/blocks/all
@@ -1,3 +0,0 @@
1
- # Custom generator templates are put into lib/templates.
2
- FileUtils.mkdir_p 'lib/templates'
3
- Spring.watch 'lib/templates'
@@ -1 +0,0 @@
1
- World(FactoryGirl::Syntax::Methods)
@@ -1,3 +0,0 @@
1
- RSpec.configure do |config|
2
- config.include FactoryGirl::Syntax::Methods
3
- end
@@ -1,38 +0,0 @@
1
- = form_for <%= model_name(:ivar) %> do |form|
2
-
3
- %dl.controls
4
- <% wui.model.editable_attrs.each do |attribute| -%>
5
- %dt
6
- = form.label <%= attribute.name(:symbol) %>
7
- %dd
8
- <%- if attribute.assignable_values -%>
9
- = form.select <%= attribute.name(:symbol) %>, form.object.assignable_<%= attribute.name(:variables) %>
10
- <%- else -%>
11
- <%- case attribute.type -%>
12
- <%- when :string -%>
13
- = form.text_field <%= attribute.name(:symbol) %>
14
- <%- when :email -%>
15
- = form.email_field <%= attribute.name(:symbol) %>
16
- <%- when :password -%>
17
- = form.password_field <%= attribute.name(:symbol) %>
18
- <%- when :url -%>
19
- = form.url_field <%= attribute.name(:symbol) %>
20
- <%- when :integer -%>
21
- = form.number_field <%= attribute.name(:symbol) %>
22
- <%- when :money -%>
23
- = form.number_field <%= attribute.name(:symbol) %>
24
-
25
- <%- when :text -%>
26
- = form.text_area <%= attribute.name(:symbol) %>, rows: 5
27
- <%- when :flag -%>
28
- = form.check_box <%= attribute.name(:symbol) %>
29
- <%- when :datetime -%>
30
- = form.date_field <%= attribute.name(:symbol) %>
31
- <%- end -%>
32
- <%- end -%>
33
- <% end -%>
34
-
35
- .tools
36
- = form.submit 'Save', class: 'tools__button is_primary'
37
- - cancel_path = <%= model_name(:ivar) %>.new_record? ? <%= wui.path(:index) %> : <%= wui.path(:show, model_name(:ivar)) %>
38
- = link_to 'Cancel', cancel_path, class: 'tools__button'
@@ -1,33 +0,0 @@
1
- !!!
2
- %html
3
- %head
4
- %title
5
- <%= app_name.titlecase %>
6
-
7
- = stylesheet_link_tag 'application', media: 'all'
8
- = javascript_include_tag 'application'
9
- = csrf_meta_tags
10
-
11
- %body
12
- = query_diet_widget(bad_count: 15) if Rails.env.development?
13
-
14
- .layout
15
-
16
- .layout__head
17
- %h2 <%= app_name.titlecase %>
18
- <%- if navigation -%>
19
- = render_navigation Navigation.<%= navigation.name(:variable) %>
20
- <%- end -%>
21
- <%- if authentication -%>
22
- - if signed_in?
23
- .current-user
24
- = link_to current_user.email, edit_user_path(current_user)
25
- = link_to 'Sign out', sign_out_path, method: :delete
26
- <%- end -%>
27
-
28
- .layout__main
29
- = render 'layouts/flashes'
30
- = yield
31
-
32
- .layout__tail
33
- powered by makandra
@@ -1,5 +0,0 @@
1
- %h1
2
- <%= @action.name.humanize.titleize %>
3
-
4
- .tools
5
- = link_to 'All <%= model_name(:humans) %>', <%= wui.path(:index) %>, class: 'tools__button'
@@ -1,4 +0,0 @@
1
- %h1
2
- = <%= model_name(:ivar) %>.to_s
3
-
4
- = render 'form'
@@ -1,29 +0,0 @@
1
- %h1
2
- <%= model_name(:humans).capitalize %>
3
-
4
- .tools
5
- = link_to 'Add <%= model_name(:human) %>', <%= wui.path(:new) %>, class: 'tools__button is_primary'
6
- <% wui.custom_actions.select(&:collection?).each do |action| -%>
7
- = link_to '<%= action.name.humanize.titleize %>', <%= wui.path(action) %>, class: 'tools__button'
8
- <% end -%>
9
-
10
- - if <%= model_name(:ivars) %>.any?
11
- %table.items
12
- <%- object_name = model_name(:variable) -%>
13
- - <%= model_name(:ivars) %>.each do |<%= object_name %>|
14
- %tr
15
- %td
16
- = link_to <%= object_name %>.to_s, <%= object_name %>, class: 'hyperlink'
17
- %td
18
- .items__actions
19
- = link_to 'Edit', <%= wui.path(:edit, object_name) %>, class: 'items__action'
20
- = link_to 'Destroy', <%= wui.path(:destroy, object_name) %>, method: :delete, class: 'items__action', data: { confirm: 'Really destroy?' }, title: "Destroy #{<%= object_name %>.to_s}"
21
- <%- wui.custom_actions.select(&:member?).each do |action| -%>
22
- = link_to '<%= action.name.humanize.titleize %>', <%= wui.path(action, object_name) %>, class: 'items__action'<%=
23
- ", method: :#{action.method}" unless action.get?
24
- %>
25
- <%- end -%>
26
-
27
- - else
28
- %p.help-block
29
- There are no <%= model_name(:humans) %> yet.