rhino_project_core 0.20.0.beta.56 → 0.20.0.beta.57
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6407e78ecd3c352fa99acfd2e977c6349d17e284f0c1dc3ab50518297912704
|
4
|
+
data.tar.gz: 20818f898f83b8c353b7ffb9aff528f79d429b35260b6abda92aa8bdd906a2fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 439b82d9b8e54f5bf54f4d84c9dbf72ad428f30d8e4110279b91422f973a78f614588a60a6b3f3cb1ca3e21a9f82a8c2b9414cb3c2880bc063736d4c5e33cba9
|
7
|
+
data.tar.gz: a292b992d79ee5b13c657b69258da46c88db7f24cfe63f1c1472108d2bb5a980d83a02d11c40e8c6041fdda8597e76c0320352e9e0c20fa65b36fcd5f6346e7a
|
@@ -5,16 +5,21 @@ module Rhino
|
|
5
5
|
module Dev
|
6
6
|
# rubocop:disable Metrics/ClassLength
|
7
7
|
class SetupGenerator < ::Rails::Generators::Base
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
class_option :
|
12
|
-
class_option :
|
13
|
-
class_option :
|
14
|
-
class_option :
|
15
|
-
class_option :
|
16
|
-
class_option :
|
17
|
-
class_option :
|
8
|
+
DEFAULT_SERVER_PORT = 3000
|
9
|
+
DEFAULT_CLIENT_PORT = DEFAULT_SERVER_PORT + 1
|
10
|
+
|
11
|
+
class_option :prompt, type: :boolean, default: true, desc: "Prompt user for configuration options"
|
12
|
+
class_option :defaults, type: :string, enum: %w[local docker], default: "local", desc: "Use configuration defaults of type DEFAULTS"
|
13
|
+
class_option :skip_existing, type: :boolean, default: false, desc: "Skip existing env files"
|
14
|
+
class_option :server_port, type: :numeric, default: DEFAULT_SERVER_PORT, group: :server, desc: "Server port"
|
15
|
+
class_option :client_port, type: :numeric, default: DEFAULT_CLIENT_PORT, group: :client, desc: "Client port"
|
16
|
+
class_option :db_host, type: :string, group: :database
|
17
|
+
class_option :db_name, type: :string, group: :database
|
18
|
+
class_option :db_port, type: :numeric, default: 5432, group: :database
|
19
|
+
class_option :db_user, type: :string, group: :database
|
20
|
+
class_option :db_password, type: :string, group: :database
|
21
|
+
class_option :redis_port, type: :numeric, default: 6379, group: :redis
|
22
|
+
class_option :redis_database, type: :numeric, default: 0, group: :redis
|
18
23
|
|
19
24
|
attr_reader :server_port,
|
20
25
|
:client_port,
|
@@ -30,11 +35,19 @@ module Rhino
|
|
30
35
|
|
31
36
|
source_root File.expand_path("templates", __dir__)
|
32
37
|
|
38
|
+
def check_existing
|
39
|
+
return unless options[:skip_existing] && File.exist?(server_file(".env"))
|
40
|
+
|
41
|
+
say "Skipping existing .env files"
|
42
|
+
exit(0)
|
43
|
+
end
|
44
|
+
|
33
45
|
def setup_env
|
34
46
|
say "Setting up local .env files"
|
35
47
|
|
36
48
|
collect_env_info
|
37
49
|
|
50
|
+
template "env.root", project_file(".env")
|
38
51
|
template "env.server", server_file(".env")
|
39
52
|
template "env.client", client_file(".env")
|
40
53
|
end
|
@@ -58,17 +71,19 @@ module Rhino
|
|
58
71
|
end
|
59
72
|
|
60
73
|
def server_port_default
|
61
|
-
options[:server_port] || ENV["PORT"]
|
74
|
+
options[:server_port] || ENV["PORT"]
|
62
75
|
end
|
63
76
|
|
64
77
|
def client_port_default
|
65
78
|
@server_port.to_i + 1
|
66
79
|
end
|
67
80
|
|
81
|
+
def project_name
|
82
|
+
@project_name ||= File.basename(project_dir).sub(/[-_]?mono/, "")
|
83
|
+
end
|
84
|
+
|
68
85
|
def db_name_default
|
69
|
-
db_name =
|
70
|
-
options[:db_name] || ENV["DB_NAME"] ||
|
71
|
-
File.basename(project_dir).sub(/[-_]?mono/, "")
|
86
|
+
db_name = options[:db_name] || ENV["DB_NAME"] || project_name
|
72
87
|
|
73
88
|
return db_name if db_name.present?
|
74
89
|
|
@@ -80,15 +95,15 @@ module Rhino
|
|
80
95
|
end
|
81
96
|
|
82
97
|
def db_port_default
|
83
|
-
options[:db_port] || ENV["DB_PORT"]
|
98
|
+
options[:db_port] || ENV["DB_PORT"]
|
84
99
|
end
|
85
100
|
|
86
101
|
def db_user_default
|
87
|
-
options[:db_user] || ENV["DB_USERNAME"] ||
|
102
|
+
options[:db_user] || ENV["DB_USERNAME"] || `whoami`
|
88
103
|
end
|
89
104
|
|
90
105
|
def db_password_default
|
91
|
-
options[:db_password] || ENV["DB_PASSWORD"] ||
|
106
|
+
options[:db_password] || ENV["DB_PASSWORD"] || ""
|
92
107
|
end
|
93
108
|
|
94
109
|
def redis_host_default
|
@@ -96,15 +111,15 @@ module Rhino
|
|
96
111
|
end
|
97
112
|
|
98
113
|
def redis_port_default
|
99
|
-
options[:redis_port] || ENV["REDIS_PORT"]
|
114
|
+
options[:redis_port] || ENV["REDIS_PORT"]
|
100
115
|
end
|
101
116
|
|
102
117
|
def redis_database_default
|
103
|
-
options[:redis_database] || ENV["REDIS_DATABASE"]
|
118
|
+
options[:redis_database] || ENV["REDIS_DATABASE"]
|
104
119
|
end
|
105
120
|
|
106
121
|
def dockerized_default
|
107
|
-
"
|
122
|
+
options[:defaults] == "docker" ? "Y" : "N"
|
108
123
|
end
|
109
124
|
|
110
125
|
def collect_env_info
|
@@ -118,37 +133,46 @@ module Rhino
|
|
118
133
|
end
|
119
134
|
|
120
135
|
def collect_docker_info
|
121
|
-
@dockerized = %w[y Y].include?(ask_prompt("Run
|
136
|
+
@dockerized = %w[y Y].include?(ask_prompt("Run with docker?", dockerized_default))
|
122
137
|
|
123
138
|
return unless dockerized
|
124
139
|
|
125
140
|
@db_host = "db"
|
141
|
+
@db_user = "postgres"
|
142
|
+
@db_password = "password"
|
143
|
+
@db_port = 5432
|
126
144
|
@redis_host = "redis"
|
127
145
|
@redis_port = 6379
|
146
|
+
@redis_database = 0
|
128
147
|
|
129
148
|
puts <<~HERE
|
130
149
|
The following docker configuration has been automatically set for you:
|
131
150
|
Database host: #{db_host}
|
151
|
+
Database port: #{db_port}
|
152
|
+
Database user: #{db_user}
|
153
|
+
Database password: #{db_password}
|
132
154
|
Redis host: #{redis_host}
|
133
155
|
Redis port: #{redis_port}
|
156
|
+
Redis database: #{redis_database}
|
134
157
|
HERE
|
135
158
|
end
|
136
159
|
|
137
|
-
def collect_database_info
|
160
|
+
def collect_database_info
|
138
161
|
@db_name = ask_prompt("Database?", db_name_default)
|
139
|
-
@db_host
|
140
|
-
@db_port
|
141
|
-
@db_user
|
142
|
-
@db_password
|
162
|
+
@db_host ||= ask_prompt("Database host?", db_host_default)
|
163
|
+
@db_port ||= ask_prompt("Database port?", db_port_default)
|
164
|
+
@db_user ||= ask_prompt("Database User?", db_user_default)
|
165
|
+
@db_password ||= ask_prompt("Database Password?", db_password_default)
|
166
|
+
|
167
|
+
nil
|
143
168
|
end
|
144
169
|
|
145
170
|
def collect_redis_info
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
end
|
171
|
+
@redis_host ||= ask_prompt("Redis host?", redis_host_default)
|
172
|
+
@redis_port ||= ask_prompt("Redis port?", redis_port_default)
|
173
|
+
@redis_database ||= ask_prompt("Redis database?", redis_database_default)
|
150
174
|
|
151
|
-
|
175
|
+
nil
|
152
176
|
end
|
153
177
|
|
154
178
|
def project_file(file)
|
@@ -0,0 +1 @@
|
|
1
|
+
COMPOSE_PROJECT_NAME=<%= project_name %>
|
data/lib/rhino/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhino_project_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.20.0.beta.
|
4
|
+
version: 0.20.0.beta.57
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Rosevear
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -171,6 +171,7 @@ files:
|
|
171
171
|
- lib/commands/rhino_command.rb
|
172
172
|
- lib/generators/rhino/dev/setup/setup_generator.rb
|
173
173
|
- lib/generators/rhino/dev/setup/templates/env.client.tt
|
174
|
+
- lib/generators/rhino/dev/setup/templates/env.root.tt
|
174
175
|
- lib/generators/rhino/dev/setup/templates/env.server.tt
|
175
176
|
- lib/generators/rhino/dev/setup/templates/prepare-commit-msg
|
176
177
|
- lib/generators/rhino/install/install_generator.rb
|