belt 0.1.7 → 0.1.9

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/belt/cli/deploy_command.rb +40 -0
  3. data/lib/belt/cli/destroy_command.rb +21 -8
  4. data/lib/belt/cli/environment_command.rb +4 -12
  5. data/lib/belt/cli/frontend_command.rb +11 -13
  6. data/lib/belt/cli/frontend_setup_command.rb +14 -25
  7. data/lib/belt/cli/generate_command.rb +106 -32
  8. data/lib/belt/cli/new_command.rb +82 -35
  9. data/lib/belt/cli/routes_command.rb +1 -9
  10. data/lib/belt/cli/setup_command.rb +2 -8
  11. data/lib/belt/cli/tables_command.rb +58 -25
  12. data/lib/belt/cli/views_command.rb +11 -8
  13. data/lib/belt/inflector.rb +58 -0
  14. data/lib/belt/lambda_handler.rb +11 -0
  15. data/lib/belt/route_dsl.rb +3 -11
  16. data/lib/belt/table_inference.rb +4 -18
  17. data/lib/belt/version.rb +1 -1
  18. data/lib/templates/environment/backend.tf.erb +2 -2
  19. data/lib/templates/environment/main.tf.erb +14 -18
  20. data/lib/templates/environment/outputs.tf.erb +28 -3
  21. data/lib/templates/environment/terraform.tfvars.erb +5 -0
  22. data/lib/templates/environment/variables.tf.erb +6 -0
  23. data/lib/templates/generate/controller.rb.erb +0 -1
  24. data/lib/templates/generate/model.rb.erb +0 -2
  25. data/lib/templates/module/dns.tf.erb +83 -0
  26. data/lib/templates/module/frontend.tf.erb +179 -0
  27. data/lib/templates/module/main.tf.erb +42 -0
  28. data/lib/templates/module/outputs.tf.erb +24 -0
  29. data/lib/templates/module/variables.tf.erb +27 -0
  30. data/lib/templates/new_app/lambda/config/environment.rb.erb +7 -1
  31. data/lib/templates/views/Form.jsx.erb +63 -7
  32. data/lib/templates/views/Index.jsx.erb +41 -10
  33. data/lib/templates/views/Show.jsx.erb +12 -2
  34. metadata +21 -2
  35. data/lib/templates/new_app/lambda/models/concerns/timestampable.rb.erb +0 -23
@@ -27,8 +27,18 @@ export default function <%= @class_name %>Show() {
27
27
  <main style={{ padding: '2rem', maxWidth: '800px', margin: '0 auto' }}>
28
28
  <Link to="/<%= @resource_name %>">&larr; Back to <%= @resource_name %></Link>
29
29
  <% @fields.each do |field| -%>
30
- <% if field[:type] == 'text' -%>
31
- <div style={{ margin: '1rem 0', whiteSpace: 'pre-wrap' }}>{<%= @singular_name %>.<%= field[:name] %>}</div>
30
+ <% case field[:type] -%>
31
+ <% when 'text' -%>
32
+ <div style={{ margin: '1rem 0' }}>
33
+ <strong><%= field[:name].split('_').map(&:capitalize).join(' ') %></strong>
34
+ <div style={{ whiteSpace: 'pre-wrap', marginTop: '0.25rem' }}>{<%= @singular_name %>.<%= field[:name] %>}</div>
35
+ </div>
36
+ <% when 'boolean' -%>
37
+ <p><strong><%= field[:name].split('_').map(&:capitalize).join(' ') %>:</strong> {<%= @singular_name %>.<%= field[:name] %> ? 'Yes' : 'No'}</p>
38
+ <% when 'date' -%>
39
+ <p><strong><%= field[:name].split('_').map(&:capitalize).join(' ') %>:</strong> {<%= @singular_name %>.<%= field[:name] %> ? new Date(<%= @singular_name %>.<%= field[:name] %>).toLocaleDateString() : '—'}</p>
40
+ <% when 'datetime' -%>
41
+ <p><strong><%= field[:name].split('_').map(&:capitalize).join(' ') %>:</strong> {<%= @singular_name %>.<%= field[:name] %> ? new Date(<%= @singular_name %>.<%= field[:name] %>).toLocaleString() : '—'}</p>
32
42
  <% else -%>
33
43
  <p><strong><%= field[:name].split('_').map(&:capitalize).join(' ') %>:</strong> {<%= @singular_name %>.<%= field[:name] %>}</p>
34
44
  <% end -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: belt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stowzilla
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: activesupport
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '7.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '7.0'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: lambda_loadout
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,7 @@ files:
80
94
  - lib/belt/helpers/cors_origin.rb
81
95
  - lib/belt/helpers/error_logging.rb
82
96
  - lib/belt/helpers/response.rb
97
+ - lib/belt/inflector.rb
83
98
  - lib/belt/lambda_handler.rb
84
99
  - lib/belt/observability.rb
85
100
  - lib/belt/parameters.rb
@@ -106,6 +121,11 @@ files:
106
121
  - lib/templates/frontend_infra/frontend.tf.erb
107
122
  - lib/templates/generate/controller.rb.erb
108
123
  - lib/templates/generate/model.rb.erb
124
+ - lib/templates/module/dns.tf.erb
125
+ - lib/templates/module/frontend.tf.erb
126
+ - lib/templates/module/main.tf.erb
127
+ - lib/templates/module/outputs.tf.erb
128
+ - lib/templates/module/variables.tf.erb
109
129
  - lib/templates/new_app/AGENTS.md.erb
110
130
  - lib/templates/new_app/Gemfile.erb
111
131
  - lib/templates/new_app/README.md.erb
@@ -118,7 +138,6 @@ files:
118
138
  - lib/templates/new_app/lambda/controllers/application_controller.rb.erb
119
139
  - lib/templates/new_app/lambda/lib/routes/routes.rb.erb
120
140
  - lib/templates/new_app/lambda/models/application_record.rb.erb
121
- - lib/templates/new_app/lambda/models/concerns/timestampable.rb.erb
122
141
  - lib/templates/views/Edit.jsx.erb
123
142
  - lib/templates/views/Form.jsx.erb
124
143
  - lib/templates/views/Index.jsx.erb
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Concerns
4
- module Timestampable
5
- def self.included(base)
6
- base.attr_accessor :created_at, :updated_at
7
- base.set_callback :create, :before, :set_timestamps
8
- base.set_callback :update, :before, :set_updated_at
9
- end
10
-
11
- private
12
-
13
- def set_timestamps
14
- now = Time.now.utc.iso8601
15
- self.created_at ||= now
16
- self.updated_at = now
17
- end
18
-
19
- def set_updated_at
20
- self.updated_at = Time.now.utc.iso8601
21
- end
22
- end
23
- end