hot-glue 0.2.6 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -2
  3. data/Gemfile.lock +3 -23
  4. data/LICENCE +11 -4
  5. data/README.md +0 -642
  6. data/app/helpers/hot_glue/controller_helper.rb +2 -1
  7. data/lib/generators/hot_glue/install_generator.rb +121 -33
  8. data/lib/generators/hot_glue/markup_templates/erb.rb +53 -27
  9. data/lib/generators/hot_glue/markup_templates/haml.rb +5 -3
  10. data/lib/generators/hot_glue/scaffold_generator.rb +224 -58
  11. data/lib/generators/hot_glue/templates/controller.rb.erb +39 -32
  12. data/lib/generators/hot_glue/templates/erb/_form.erb +1 -1
  13. data/lib/generators/hot_glue/templates/erb/_line.erb +3 -2
  14. data/lib/generators/hot_glue/templates/erb/_list.erb +24 -8
  15. data/lib/generators/hot_glue/templates/erb/_show.erb +27 -4
  16. data/lib/generators/hot_glue/templates/erb/create.turbo_stream.erb +4 -4
  17. data/lib/generators/hot_glue/templates/erb/destroy.turbo_stream.erb +2 -2
  18. data/lib/generators/hot_glue/templates/erb/edit.erb +2 -5
  19. data/lib/generators/hot_glue/templates/erb/index.erb +11 -9
  20. data/lib/generators/hot_glue/templates/erb/update.turbo_stream.erb +5 -2
  21. data/lib/generators/hot_glue/templates/haml/_line.haml +1 -1
  22. data/lib/generators/hot_glue/templates/haml/_list.haml +6 -2
  23. data/lib/generators/hot_glue/templates/haml/create.turbo_stream.haml +3 -3
  24. data/lib/generators/hot_glue/templates/haml/destroy.turbo_stream.haml +1 -1
  25. data/lib/generators/hot_glue/templates/haml/edit.haml +0 -2
  26. data/lib/generators/hot_glue/templates/haml/index.haml +2 -3
  27. data/lib/generators/hot_glue/templates/system_spec.rb.erb +19 -8
  28. data/lib/generators/hot_glue/templates/themes/hotglue_scaffold_dark_knight.scss +158 -0
  29. data/lib/generators/hot_glue/templates/themes/hotglue_scaffold_like_bootstrap.scss +154 -0
  30. data/lib/generators/hot_glue/templates/themes/hotglue_scaffold_like_los_gatos.scss +182 -0
  31. data/lib/generators/hot_glue/templates/themes/hotglue_scaffold_like_mountain_view.scss +179 -0
  32. data/lib/hot-glue.rb +1 -2
  33. data/lib/hotglue/version.rb +1 -1
  34. metadata +13 -33
@@ -0,0 +1,182 @@
1
+ .scaffold-container {
2
+ -webkit-font-smoothing: antialiased;
3
+ font-family: 'Netflix Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
4
+ color: #737373;
5
+
6
+ font-size: .875rem;
7
+ letter-spacing: .2px;
8
+ input[type='submit'] {
9
+ background-color: rgba(255,255,255,0);
10
+ border: none;
11
+ }
12
+
13
+
14
+
15
+
16
+ .scaffold-cell {
17
+ textarea {
18
+
19
+ -webkit-box-sizing: border-box;
20
+ box-sizing: border-box;
21
+ margin: 1px!important;
22
+ padding: 3px 1px 3px 3px;
23
+ -webkit-transition: none;
24
+ transition: none;
25
+ }
26
+
27
+ input {
28
+ -webkit-writing-mode: horizontal-tb !important;
29
+ text-rendering: auto;
30
+ letter-spacing: normal;
31
+ word-spacing: normal;
32
+ line-height: normal;
33
+ text-transform: none;
34
+ text-indent: 0px;
35
+ text-shadow: none;
36
+ display: inline-block;
37
+ text-align: start;
38
+ appearance: auto;
39
+ -webkit-rtl-ordering: logical;
40
+ margin: 0em;
41
+ border-image: initial;
42
+
43
+ display: block;
44
+ padding: 0.375rem 0.75rem;
45
+ font-size: 1rem;
46
+ font-weight: 400;
47
+ line-height: 1.5;
48
+
49
+ background-color: #fff;
50
+ background-clip: padding-box;
51
+ -webkit-appearance: none;
52
+ -moz-appearance: none;
53
+ appearance: none;
54
+ border: 1px solid #ced4da;
55
+ border-radius: 1px;
56
+
57
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
58
+ color: #212529;
59
+ background-color: #fff;
60
+ background-clip: padding-box;
61
+
62
+ &[type=submit] {
63
+ border: none;
64
+ border-radius: 0;
65
+ }
66
+ }
67
+
68
+ input, textarea, select {
69
+ &:hover {
70
+ cursor: pointer;
71
+ }
72
+ background-color: #fff;
73
+ color: #222;
74
+
75
+ border: solid 1px #828282;
76
+ border-radius: 2px;
77
+
78
+
79
+ outline: none !important;
80
+
81
+ box-shadow: none;
82
+
83
+ &:focus, &:focus-visible {
84
+
85
+ outline: none !important;
86
+ }
87
+ }
88
+ }
89
+
90
+
91
+ .scaffold-row {
92
+ .scaffold-col-heading {
93
+ }
94
+ .scaffold-col, .scaffold-col-heading {
95
+
96
+ }
97
+
98
+ .scaffold-cell {
99
+ }
100
+
101
+ .scaffold-list {
102
+ flex: 0 0 auto;
103
+ width: 100%;
104
+ }
105
+ }
106
+
107
+ .container-fluid, .scaffold-container {
108
+ width: 100%;
109
+
110
+ margin-right: auto;
111
+ margin-left: auto;
112
+ }
113
+
114
+ .row {
115
+ display: flex;
116
+ --bs-gutter-x: 1.5rem;
117
+ --bs-gutter-y: 0;
118
+ flex-wrap: wrap;
119
+ margin-top: calc(-1 * var(--bs-gutter-y));
120
+ }
121
+
122
+ .btn-primary {
123
+ color: white;
124
+ background-color: #e50914;
125
+ border-radius: 2px;
126
+ &:hover {
127
+ color: darkslategrey;
128
+ }
129
+ }
130
+
131
+ .btn-secondary {
132
+ color: darkslategrey;
133
+
134
+ background-color: white;
135
+ &:hover {
136
+ color: lightgrey;
137
+ }
138
+ }
139
+
140
+ .scaffold-list {
141
+ input, .btn {
142
+ font-size: 0.8rem;
143
+ font-weight: 400;
144
+ line-height: 1.4;
145
+ }
146
+
147
+
148
+ .scaffold-list {
149
+ input, .btn {
150
+ font-size: 0.8rem;
151
+ line-height: 1.2;
152
+ }
153
+
154
+
155
+
156
+ .scaffold-list {
157
+ input, .btn {
158
+ font-size: 0.55rem;
159
+ line-height: 1.0;
160
+ }
161
+ }
162
+ }
163
+ }
164
+
165
+ .btn {
166
+ display: inline-block;
167
+ font-weight: 400;
168
+ line-height: 1.5;
169
+ color: #212529;
170
+ text-align: center;
171
+ text-decoration: none;
172
+ vertical-align: middle;
173
+ cursor: pointer;
174
+ -webkit-user-select: none;
175
+ -moz-user-select: none;
176
+ -ms-user-select: none;
177
+ user-select: none;
178
+ padding: 0.375rem 0.75rem;
179
+ font-size: 1rem;
180
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
181
+ }
182
+ }
@@ -0,0 +1,179 @@
1
+ .scaffold-container {
2
+ -webkit-font-smoothing: antialiased;
3
+ font-family: Roboto,RobotoDraft,Helvetica,Arial,sans-serif;
4
+ font-size: .875rem;
5
+ letter-spacing: .2px;
6
+ color: #202124;
7
+ input[type='submit'] {
8
+ background-color: rgba(255,255,255,0);
9
+ border: none;
10
+ }
11
+
12
+
13
+
14
+
15
+ .scaffold-cell {
16
+ textarea {
17
+ border: 1px solid #d9d9d9!important;
18
+ -webkit-border-radius: 1px;
19
+ border-radius: 1px;
20
+ border-top-color: #c0c0c0!important;
21
+ -webkit-box-sizing: border-box;
22
+ box-sizing: border-box;
23
+ margin: 1px!important;
24
+ padding: 3px 1px 3px 3px;
25
+ -webkit-transition: none;
26
+ transition: none;
27
+ background-color: #fff;
28
+ color: #222;
29
+ }
30
+
31
+ input {
32
+ -webkit-writing-mode: horizontal-tb !important;
33
+ text-rendering: auto;
34
+ letter-spacing: normal;
35
+ word-spacing: normal;
36
+ line-height: normal;
37
+ text-transform: none;
38
+ text-indent: 0px;
39
+ text-shadow: none;
40
+ display: inline-block;
41
+ text-align: start;
42
+ appearance: auto;
43
+ -webkit-rtl-ordering: logical;
44
+ margin: 0em;
45
+ border-image: initial;
46
+
47
+ display: block;
48
+ padding: 0.375rem 0.75rem;
49
+ font-size: 1rem;
50
+ font-weight: 400;
51
+ line-height: 1.5;
52
+
53
+ background-color: #fff;
54
+ background-clip: padding-box;
55
+ -webkit-appearance: none;
56
+ -moz-appearance: none;
57
+ appearance: none;
58
+ border: 1px solid #ced4da;
59
+ border-radius: 1px;
60
+
61
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
62
+ color: #212529;
63
+ background-color: #fff;
64
+ background-clip: padding-box;
65
+
66
+ &[type=submit] {
67
+ border: none;
68
+ border-radius: 0;
69
+ }
70
+ }
71
+
72
+ input, textarea, select {
73
+ &:hover {
74
+ cursor: pointer;
75
+ }
76
+
77
+ outline: none !important;
78
+ &:focus, &:focus-visible {
79
+ border: none;
80
+ box-shadow: inset 0 1px 2px rgba(0, 0,0, 30%);
81
+ outline: none !important;
82
+ }
83
+ }
84
+ }
85
+
86
+
87
+ .scaffold-row {
88
+ .scaffold-col-heading {
89
+ }
90
+ .scaffold-col, .scaffold-col-heading {
91
+
92
+ }
93
+
94
+ .scaffold-cell {
95
+ }
96
+
97
+ .scaffold-list {
98
+ flex: 0 0 auto;
99
+ width: 100%;
100
+ }
101
+ }
102
+
103
+ .container-fluid, .scaffold-container {
104
+ width: 100%;
105
+
106
+ margin-right: auto;
107
+ margin-left: auto;
108
+ }
109
+
110
+ .row {
111
+ display: flex;
112
+ --bs-gutter-x: 1.5rem;
113
+ --bs-gutter-y: 0;
114
+ display: flex;
115
+ flex-wrap: wrap;
116
+ margin-top: calc(-1 * var(--bs-gutter-y));
117
+ }
118
+
119
+ .btn-primary {
120
+ color: #212529;
121
+
122
+ &:hover {
123
+ color: darkslategrey;
124
+ }
125
+ }
126
+
127
+ .btn-secondary {
128
+ color: darkslategrey;
129
+
130
+ background-color: white;
131
+ &:hover {
132
+ color: lightgrey;
133
+ }
134
+ }
135
+
136
+ .scaffold-list {
137
+ input, .btn {
138
+ font-size: 0.8rem;
139
+ font-weight: 400;
140
+ line-height: 1.4;
141
+ }
142
+
143
+
144
+ .scaffold-list {
145
+ input, .btn {
146
+ font-size: 0.8rem;
147
+ line-height: 1.2;
148
+ }
149
+
150
+
151
+
152
+ .scaffold-list {
153
+ input, .btn {
154
+ font-size: 0.55rem;
155
+ line-height: 1.0;
156
+ }
157
+ }
158
+ }
159
+ }
160
+
161
+
162
+ .btn {
163
+ display: inline-block;
164
+ font-weight: 400;
165
+ line-height: 1.5;
166
+ color: #212529;
167
+ text-align: center;
168
+ text-decoration: none;
169
+ vertical-align: middle;
170
+ cursor: pointer;
171
+ -webkit-user-select: none;
172
+ -moz-user-select: none;
173
+ -ms-user-select: none;
174
+ user-select: none;
175
+ padding: 0.375rem 0.75rem;
176
+ font-size: 1rem;
177
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
178
+ }
179
+ }
data/lib/hot-glue.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require "hotglue/engine"
2
-
3
2
  require 'kaminari'
4
- require 'haml-rails'
3
+
5
4
 
6
5
  module HotGlue
7
6
 
@@ -1,3 +1,3 @@
1
1
  module HotGlue
2
- VERSION = '0.2.6'
2
+ VERSION = '0.3.8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hot-glue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Fleetwood-Boldt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-11 00:00:00.000000000 Z
11
+ date: 2021-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -44,32 +44,18 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.2'
47
- - !ruby/object:Gem::Dependency
48
- name: haml-rails
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '2.0'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '2.0'
61
47
  - !ruby/object:Gem::Dependency
62
48
  name: turbo-rails
63
49
  requirement: !ruby/object:Gem::Requirement
64
50
  requirements:
65
- - - "~>"
51
+ - - ">"
66
52
  - !ruby/object:Gem::Version
67
53
  version: '0.5'
68
54
  type: :runtime
69
55
  prerelease: false
70
56
  version_requirements: !ruby/object:Gem::Requirement
71
57
  requirements:
72
- - - "~>"
58
+ - - ">"
73
59
  - !ruby/object:Gem::Version
74
60
  version: '0.5'
75
61
  - !ruby/object:Gem::Dependency
@@ -169,6 +155,10 @@ files:
169
155
  - lib/generators/hot_glue/templates/haml/new.haml
170
156
  - lib/generators/hot_glue/templates/haml/update.turbo_stream.haml
171
157
  - lib/generators/hot_glue/templates/system_spec.rb.erb
158
+ - lib/generators/hot_glue/templates/themes/hotglue_scaffold_dark_knight.scss
159
+ - lib/generators/hot_glue/templates/themes/hotglue_scaffold_like_bootstrap.scss
160
+ - lib/generators/hot_glue/templates/themes/hotglue_scaffold_like_los_gatos.scss
161
+ - lib/generators/hot_glue/templates/themes/hotglue_scaffold_like_mountain_view.scss
172
162
  - lib/hot-glue.rb
173
163
  - lib/hotglue/engine.rb
174
164
  - lib/hotglue/version.rb
@@ -177,24 +167,14 @@ licenses:
177
167
  - Nonstandard
178
168
  metadata:
179
169
  source_code_uri: https://github.com/jasonfb/hot-glue
180
- documentation_uri: https://www.instagram.com/jfbcodes/
181
- homepage_uri: https://jasonfleetwoodboldt.com/hot-glue/
170
+ tutorial: https://jfbcodes.com/hot-glue-tutorial
171
+ buy_license: https://heliosdev.shop/hot-glue-licens
172
+ get_merch: https://shop.heliosdev.shop/?utm_source=rubygems&utm_campaign=hot_glue_gem_metadata
182
173
  post_install_message: |
183
174
  ---------------------------------------------
184
175
  Welcome to Hot Glue - A Scaffold Building Companion for Hotwire + Turbo-Rails
185
176
 
186
- rails generate hot_glue:scaffold Thing
187
-
188
- * Build plug-and-play scaffolding mixing HAML with the power of Hotwire and Turbo-Rails
189
- * Automatically Reads Your Models (make them before building your scaffolding!)
190
- * Excellent for CRUD, lists with pagination (coming soon: searching & sorting)
191
- * Great for prototyping.
192
- * Plays nicely with Devise, Kaminari, Haml-Rails, Rspec, FontAwesome
193
- * Create specs automatically along with the generated controllers.
194
- * Nest your routes model-by-model for built-in poor man's authentication.
195
- * Throw the scaffolding away when your app is ready to graduate to its next phase.
196
-
197
- see README for complete instructions.
177
+ To purchase a license, please visit https://heliosdev.shop/hot-glue-license
198
178
  ---------------------------------------------
199
179
  rdoc_options: []
200
180
  require_paths:
@@ -213,5 +193,5 @@ requirements: []
213
193
  rubygems_version: 3.1.4
214
194
  signing_key:
215
195
  specification_version: 4
216
- summary: A gem build scaffolding.
196
+ summary: A gem to build Tubro Rails scaffolding.
217
197
  test_files: []