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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6ec2703effbf613547e8504fa5f5bdaa45b621cc5c822e25884865d6757647b
4
- data.tar.gz: 2ae0f2567bdb809ac9648223fcfed93ba4f5b2a9e1fc7bf53599c5e3771b3ce2
3
+ metadata.gz: '09bab6f8b81658c76669317d949e44e1e0728d7be46cb80793fa2488ffcff097'
4
+ data.tar.gz: 571b132824ac728b7e8072095a106c9731350abe88ce69d74b46852fe3ada36f
5
5
  SHA512:
6
- metadata.gz: 3f8833d190de928ca0797f2279cf04d47f427f4fad53c91006a6a0a407c5dcd2aecb56a0bcd503aa53adccc44379e66670b2621e1f87dbe0c8110204bfc12584
7
- data.tar.gz: d1e99102ea0ff0c4f7ee121890c18fe88b412d861ac4f00a7d0ac7bb6ed1fe830fd98c6a5d370b20bf4e7e0f4f5e61fd19a56cfdbf5e69fd8d7ca63fa842a9ca
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 representations
29
- return unless representable?
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
- representation = representation(v)
31
+ variant = variant(v)
33
32
 
34
33
  {
35
- url: url(representation),
36
- url_attachment: url_attachment(representation)
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 + [ "previews", "representations", "variants", "signed_id"]
47
+ super + [ "variants", "signed_id"]
65
48
  end
66
49
  end
67
50
 
data/lib/rhino/version.rb CHANGED
@@ -8,9 +8,9 @@ module Rhino
8
8
 
9
9
  module VERSION
10
10
  MAJOR = 0
11
- MINOR = 23
11
+ MINOR = 30
12
12
  TINY = 0
13
- PRE = "beta.0"
13
+ PRE = "alpha.1"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
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.23.0.beta.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: 2025-01-15 00:00:00.000000000 Z
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
@@ -1,4 +0,0 @@
1
- ActiveAdmin.register <%= class_name %> do
2
- rhino_filters
3
- rhino_permit_params
4
- end