rhino_project_core 0.22.0.beta.11 → 0.22.0.beta.13
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/app/overrides/activeadmin/resource_dsl_override.rb +36 -0
- data/lib/generators/rhino/admin/admin_generator.rb +13 -0
- data/lib/generators/rhino/admin/templates/resource.rb.tt +4 -0
- data/lib/generators/rhino/model/model_generator.rb +5 -0
- data/lib/rhino/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b96c00a690cdfab11d3c180d7704196dc989c76a3c35bff71f03a1aaeba501f2
|
4
|
+
data.tar.gz: f6ca881b78da8153718ab4b85e117eceeb3199f4a029f00fc5b1d9f202b67619
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e209f50763fcfb3ee4c095f299f2b7da907a7ef5cc34ca363e73cb22010914e079a22f1ee31557665b17fefaab3c065c1237fb65911e5a987aa60d5b5947cf6e
|
7
|
+
data.tar.gz: 6cbfecec1f19bab4cb0e212ecee73fc2c7bddc02b03a1fb151b41f0ef92279a77b4c7399f8fc052705368473a1a7772653067423a74c194f2e238d74d49fbc6a
|
@@ -0,0 +1,36 @@
|
|
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
|
@@ -0,0 +1,13 @@
|
|
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
|
@@ -11,6 +11,7 @@ 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
|
14
15
|
|
15
16
|
# Parent source paths
|
16
17
|
def source_paths
|
@@ -52,6 +53,10 @@ module Rhino
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
56
|
+
def active_admin_resource
|
57
|
+
generate "rhino:admin", class_name unless options[:skip_admin]
|
58
|
+
end
|
59
|
+
|
55
60
|
protected
|
56
61
|
def check_ownership
|
57
62
|
raise Thor::Error, "Exactly one owner must be defined on a reference or globally" unless base_owner? ^ global_owner? ^ reference_owner?
|
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.22.0.beta.
|
4
|
+
version: 0.22.0.beta.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Rosevear
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -395,6 +395,7 @@ 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
|
398
399
|
- app/overrides/activestorage/direct_uploads_controller_override.rb
|
399
400
|
- app/overrides/activestorage/redirect_controller_override.rb
|
400
401
|
- app/overrides/activestorage/redirect_representation_controller_override.rb
|
@@ -426,6 +427,8 @@ files:
|
|
426
427
|
- lib/commands/rhino/module/new_command.rb
|
427
428
|
- lib/commands/rhino/module/rails_command.rb
|
428
429
|
- lib/commands/rhino/module/test_command.rb
|
430
|
+
- lib/generators/rhino/admin/admin_generator.rb
|
431
|
+
- lib/generators/rhino/admin/templates/resource.rb.tt
|
429
432
|
- lib/generators/rhino/dev/setup/setup_generator.rb
|
430
433
|
- lib/generators/rhino/dev/setup/templates/env.tt
|
431
434
|
- lib/generators/rhino/dev/setup/templates/prepare-commit-msg
|