rhino_project_core 0.23.0.beta.0 → 0.30.0.alpha.1
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 +4 -4
- data/lib/generators/rhino/dev/setup/setup_generator.rb +32 -0
- data/lib/generators/rhino/dev/setup/templates/env.tt +3 -0
- data/lib/generators/rhino/model/model_generator.rb +0 -5
- data/lib/rhino/resource/active_storage_extension.rb +7 -24
- data/lib/rhino/version.rb +2 -2
- metadata +5 -8
- data/app/overrides/activeadmin/resource_dsl_override.rb +0 -36
- data/lib/generators/rhino/admin/admin_generator.rb +0 -13
- data/lib/generators/rhino/admin/templates/resource.rb.tt +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09bab6f8b81658c76669317d949e44e1e0728d7be46cb80793fa2488ffcff097'
|
4
|
+
data.tar.gz: 571b132824ac728b7e8072095a106c9731350abe88ce69d74b46852fe3ada36f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 134e615ee50fbfe6de3f37a04a633dc82b89cdcae1d7c2e881b2000f759bdabae4ff22d2e0912d9d642660ee4ff323238b2d134c4644552082dc2d05e252e896
|
7
|
+
data.tar.gz: 975781708959682419d2f40637cf1833dc316f05d353d12422de0074a1a541f63db49f06d7de18e084ecaaaad3460604df9ccaf929ba5ad1e6050b155e176e18
|
@@ -15,6 +15,8 @@ module Rhino
|
|
15
15
|
class_option :db_port, type: :numeric, default: 5432, group: :database
|
16
16
|
class_option :db_user, type: :string, group: :database
|
17
17
|
class_option :db_password, type: :string, group: :database
|
18
|
+
class_option :redis_port, type: :numeric, default: 6379, group: :redis
|
19
|
+
class_option :redis_database, type: :numeric, default: 0, group: :redis
|
18
20
|
|
19
21
|
attr_reader :server_port,
|
20
22
|
:db_name,
|
@@ -22,6 +24,9 @@ module Rhino
|
|
22
24
|
:db_port,
|
23
25
|
:db_user,
|
24
26
|
:db_password,
|
27
|
+
:redis_host,
|
28
|
+
:redis_port,
|
29
|
+
:redis_database,
|
25
30
|
:dockerized
|
26
31
|
|
27
32
|
source_root File.expand_path("templates", __dir__)
|
@@ -87,6 +92,18 @@ module Rhino
|
|
87
92
|
options[:db_password] || ENV["DB_PASSWORD"] || ""
|
88
93
|
end
|
89
94
|
|
95
|
+
def redis_host_default
|
96
|
+
options[:redis_host] || ENV["REDIS_HOST"] || "localhost"
|
97
|
+
end
|
98
|
+
|
99
|
+
def redis_port_default
|
100
|
+
options[:redis_port] || ENV["REDIS_PORT"]
|
101
|
+
end
|
102
|
+
|
103
|
+
def redis_database_default
|
104
|
+
options[:redis_database] || ENV["REDIS_DATABASE"]
|
105
|
+
end
|
106
|
+
|
90
107
|
def dockerized_default
|
91
108
|
options[:defaults] == "docker" ? "Y" : "N"
|
92
109
|
end
|
@@ -97,6 +114,7 @@ module Rhino
|
|
97
114
|
@server_port = ask_prompt("Port?", server_port_default)
|
98
115
|
|
99
116
|
collect_database_info
|
117
|
+
collect_redis_info
|
100
118
|
end
|
101
119
|
|
102
120
|
def collect_docker_info
|
@@ -108,6 +126,9 @@ module Rhino
|
|
108
126
|
@db_user = "postgres"
|
109
127
|
@db_password = "password"
|
110
128
|
@db_port = 5432
|
129
|
+
@redis_host = "redis"
|
130
|
+
@redis_port = 6379
|
131
|
+
@redis_database = 0
|
111
132
|
|
112
133
|
puts <<~HERE
|
113
134
|
The following docker configuration has been automatically set for you:
|
@@ -115,6 +136,9 @@ module Rhino
|
|
115
136
|
Database port: #{db_port}
|
116
137
|
Database user: #{db_user}
|
117
138
|
Database password: #{db_password}
|
139
|
+
Redis host: #{redis_host}
|
140
|
+
Redis port: #{redis_port}
|
141
|
+
Redis database: #{redis_database}
|
118
142
|
HERE
|
119
143
|
end
|
120
144
|
|
@@ -128,6 +152,14 @@ module Rhino
|
|
128
152
|
nil
|
129
153
|
end
|
130
154
|
|
155
|
+
def collect_redis_info
|
156
|
+
@redis_host ||= ask_prompt("Redis host?", redis_host_default)
|
157
|
+
@redis_port ||= ask_prompt("Redis port?", redis_port_default)
|
158
|
+
@redis_database ||= ask_prompt("Redis database?", redis_database_default)
|
159
|
+
|
160
|
+
nil
|
161
|
+
end
|
162
|
+
|
131
163
|
def project_file(file)
|
132
164
|
File.join(project_dir, file)
|
133
165
|
end
|
@@ -9,6 +9,9 @@ DB_HOST=<%= db_host %>
|
|
9
9
|
DB_PORT=<%= db_port %>
|
10
10
|
DB_USERNAME=<%= db_user %>
|
11
11
|
DB_PASSWORD=<%= db_password %>
|
12
|
+
REDIS_HOST=<%= redis_host %>
|
13
|
+
REDIS_PORT=<%= redis_port %>
|
14
|
+
REDIS_DATABASE=<%= redis_database %>
|
12
15
|
|
13
16
|
# Client
|
14
17
|
VITE_API_ROOT_PATH=$ROOT_URL
|
@@ -11,7 +11,6 @@ module Rhino
|
|
11
11
|
class_option :owner, type: :string, desc: "The model is owned by the reference attribute", group: :owner
|
12
12
|
class_option :base_owner, type: :boolean, default: false, desc: "The model is owned by the base owner", group: :owner
|
13
13
|
class_option :global_owner, type: :boolean, default: false, desc: "The model is globally owned", group: :owner
|
14
|
-
class_option :skip_admin, type: :boolean, default: false, desc: "Skip generating ActiveAdmin resources", group: :admin
|
15
14
|
|
16
15
|
# Parent source paths
|
17
16
|
def source_paths
|
@@ -53,10 +52,6 @@ module Rhino
|
|
53
52
|
end
|
54
53
|
end
|
55
54
|
|
56
|
-
def active_admin_resource
|
57
|
-
generate "rhino:admin", class_name unless options[:skip_admin]
|
58
|
-
end
|
59
|
-
|
60
55
|
protected
|
61
56
|
def check_ownership
|
62
57
|
raise Thor::Error, "Exactly one owner must be defined on a reference or globally" unless base_owner? ^ global_owner? ^ reference_owner?
|
@@ -11,8 +11,6 @@ module Rhino
|
|
11
11
|
included do
|
12
12
|
attribute :url
|
13
13
|
attribute :url_attachment
|
14
|
-
attribute :previews, :json, default: {}
|
15
|
-
attribute :representations, :json, default: {}
|
16
14
|
attribute :variants, :json, default: {}
|
17
15
|
|
18
16
|
rhino_policy :active_storage_attachment
|
@@ -25,35 +23,20 @@ module Rhino
|
|
25
23
|
url(attachment, disposition: :attachment)
|
26
24
|
end
|
27
25
|
|
28
|
-
def
|
29
|
-
|
26
|
+
def variants
|
27
|
+
# Not everything may be processed into a variant based on mime type
|
28
|
+
return unless variable?
|
30
29
|
|
31
30
|
record.attachment_reflections[self.name]&.named_variants&.keys&.index_with do |v|
|
32
|
-
|
31
|
+
variant = variant(v)
|
33
32
|
|
34
33
|
{
|
35
|
-
url: url(
|
36
|
-
url_attachment: url_attachment(
|
34
|
+
url: url(variant),
|
35
|
+
url_attachment: url_attachment(variant)
|
37
36
|
}
|
38
37
|
end
|
39
38
|
end
|
40
39
|
|
41
|
-
# FIXME: Cache for performance
|
42
|
-
def previews
|
43
|
-
# Not everything may be processed into a preview based on mime type
|
44
|
-
return unless previewable?
|
45
|
-
|
46
|
-
representations
|
47
|
-
end
|
48
|
-
|
49
|
-
# FIXME: Cache for performance
|
50
|
-
def variants
|
51
|
-
# Not everything may be processed into a variant based on mime type
|
52
|
-
return unless variable?
|
53
|
-
|
54
|
-
representations
|
55
|
-
end
|
56
|
-
|
57
40
|
def display_name
|
58
41
|
filename.to_s
|
59
42
|
end
|
@@ -61,7 +44,7 @@ module Rhino
|
|
61
44
|
|
62
45
|
class_methods do
|
63
46
|
def readable_properties
|
64
|
-
super + [ "
|
47
|
+
super + [ "variants", "signed_id"]
|
65
48
|
end
|
66
49
|
end
|
67
50
|
|
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.
|
4
|
+
version: 0.30.0.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Rosevear
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -395,7 +395,6 @@ files:
|
|
395
395
|
- app/models/rhino/current.rb
|
396
396
|
- app/models/rhino/user.rb
|
397
397
|
- app/overrides/active_record/nested_error_override.rb
|
398
|
-
- app/overrides/activeadmin/resource_dsl_override.rb
|
399
398
|
- app/overrides/activestorage/direct_uploads_controller_override.rb
|
400
399
|
- app/overrides/activestorage/redirect_controller_override.rb
|
401
400
|
- app/overrides/activestorage/redirect_representation_controller_override.rb
|
@@ -427,8 +426,6 @@ files:
|
|
427
426
|
- lib/commands/rhino/module/new_command.rb
|
428
427
|
- lib/commands/rhino/module/rails_command.rb
|
429
428
|
- lib/commands/rhino/module/test_command.rb
|
430
|
-
- lib/generators/rhino/admin/admin_generator.rb
|
431
|
-
- lib/generators/rhino/admin/templates/resource.rb.tt
|
432
429
|
- lib/generators/rhino/dev/setup/setup_generator.rb
|
433
430
|
- lib/generators/rhino/dev/setup/templates/env.tt
|
434
431
|
- lib/generators/rhino/dev/setup/templates/prepare-commit-msg
|
@@ -511,7 +508,7 @@ homepage: ''
|
|
511
508
|
licenses:
|
512
509
|
- MIT
|
513
510
|
metadata: {}
|
514
|
-
post_install_message:
|
511
|
+
post_install_message:
|
515
512
|
rdoc_options: []
|
516
513
|
require_paths:
|
517
514
|
- lib
|
@@ -527,7 +524,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
527
524
|
version: '0'
|
528
525
|
requirements: []
|
529
526
|
rubygems_version: 3.5.22
|
530
|
-
signing_key:
|
527
|
+
signing_key:
|
531
528
|
specification_version: 4
|
532
529
|
summary: ''
|
533
530
|
test_files: []
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "active_admin/resource_dsl"
|
4
|
-
|
5
|
-
module ActiveAdmin
|
6
|
-
# This is the class where all the register blocks are evaluated.
|
7
|
-
class ResourceDSL
|
8
|
-
# Runs in the context of the ResourceDSL
|
9
|
-
def rhino_filters
|
10
|
-
klass = self.config.resource_class_name.constantize
|
11
|
-
klass.ransackable_filters.each do |attr|
|
12
|
-
filter attr.to_sym
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# Runs in the context of the controller
|
17
|
-
def rhino_permit_params(permitted: [])
|
18
|
-
permit_params do
|
19
|
-
klass = self.active_admin_config.resource_class_name.constantize
|
20
|
-
|
21
|
-
permitted += klass.creatable_properties.map(&:to_sym) if params[:action] == "create"
|
22
|
-
permitted += klass.updatable_properties.map(&:to_sym) if params[:action] == "update"
|
23
|
-
|
24
|
-
# Allow owner and other references to be assigned or changed by admin
|
25
|
-
# All possible relations
|
26
|
-
references = klass.describe[:properties].select { |_p, d| d[:type] == :reference }.keys
|
27
|
-
|
28
|
-
# Restrict to the valid create/update properties
|
29
|
-
references.select! { |r| permitted.include?(r.to_sym) }
|
30
|
-
permitted += references.map { |r| klass.reflections[r].foreign_key }
|
31
|
-
|
32
|
-
permitted.uniq
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "rails/generators"
|
4
|
-
|
5
|
-
module Rhino
|
6
|
-
class AdminGenerator < Rails::Generators::NamedBase
|
7
|
-
source_root File.expand_path("templates", __dir__)
|
8
|
-
|
9
|
-
def admin
|
10
|
-
template "resource.rb", "app/admin/#{file_path.tr('/', '_').pluralize}.rb" unless options[:skip_admin]
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|