alchemy_cms 6.1.6 → 6.1.7

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.

Potentially problematic release.


This version of alchemy_cms might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 82d0b26e8224a3bb1da650ec70e232be87c79369b0245fde310c3cd753740aaa
4
- data.tar.gz: b5c4037e32b190ae4516991098c91540c93beab4c246906dbc6d19fa826b768c
3
+ metadata.gz: c206131e66f00492aae9a12eb8529e2eea17003d80ce3e5180d11c582ba792be
4
+ data.tar.gz: 92758271855a8dc77a9a280c19f7f68a15379642e96224508b0b47f977ebc0eb
5
5
  SHA512:
6
- metadata.gz: f89042c022abe8827138c41571b8dfdf83654c0c7159899fc57c622f3a08ad3c5c9b8d17398a6980e0844f2d88de38cd7bb62923b43512674bc5e5cd57caa349
7
- data.tar.gz: 5109000000bdcaadcb08b7173814ff4a5d90aede3bb5787612f6a3604b9c95df089322ac6a761c6bcdbef71c25ad1e077657efbbc79c9e05fd49be68800e9c94
6
+ metadata.gz: 5276f7cd7996f2df21360bc33fe37daa1b3752d45379c784a0713f76406eea4a4de439a26468eec3f5f57462ba6af07b3fbf380021c53dc3bf29e9991bb1f531
7
+ data.tar.gz: f4c3965d47c54c7035531de68c7ae05ac69bb11cb5f402ba00b1716cb59d90cb03bbb29d22efc926b01968e71aeaaf5e802de4f444ca378baed11464f9538c42
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.1.7 (2023-07-07)
4
+
5
+ - [6.1] Add task(s) to visualize element and page usage [#2514](https://github.com/AlchemyCMS/alchemy_cms/pull/2514) ([tvdeyen](https://github.com/tvdeyen))
6
+
3
7
  ## 6.1.6 (2023-06-30)
4
8
 
5
9
  - [6.1] Allow to create element with warning in definition [#2508](https://github.com/AlchemyCMS/alchemy_cms/pull/2508) ([tvdeyen](https://github.com/tvdeyen))
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alchemy
4
+ module Tasks
5
+ module Usage
6
+ extend self
7
+
8
+ def elements_count_by_name
9
+ res = Alchemy::Element.all
10
+ .select("name, COUNT(*) AS count")
11
+ .group(:name)
12
+ .order("count DESC, name ASC")
13
+ .map { |e| {"name" => e.name, "count" => e.count} }
14
+ Alchemy::Element.definitions.reject { |definition| res.map { |e| e["name"] }.include? definition["name"] }.sort_by { |d| d["name"] }.each do |definition|
15
+ res << {"name" => definition["name"], "count" => 0}
16
+ end
17
+ res
18
+ end
19
+
20
+ def pages_count_by_type
21
+ res = Alchemy::Page.all
22
+ .select("page_layout, COUNT(*) AS count")
23
+ .group(:page_layout)
24
+ .order("count DESC, page_layout ASC")
25
+ .map { |p| {"page_layout" => p.page_layout, "count" => p.count} }
26
+ Alchemy::PageLayout.all.reject { |page_layout| res.map { |p| p["page_layout"] }.include? page_layout["name"] }.sort_by { |d| d["name"] }.each do |page_layout|
27
+ res << {"page_layout" => page_layout["name"], "count" => 0}
28
+ end
29
+ res
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alchemy
4
- VERSION = "6.1.6"
4
+ VERSION = "6.1.7"
5
5
 
6
6
  def self.version
7
7
  VERSION
@@ -0,0 +1,40 @@
1
+ require "alchemy/tasks/usage"
2
+
3
+ namespace :alchemy do
4
+ desc "List Alchemy elements and pages usage"
5
+ task usage: [:page_usage, :element_usage]
6
+
7
+ desc "List Alchemy elements usage"
8
+ task page_usage: :environment do
9
+ include ActionView::Helpers::NumberHelper
10
+ puts "\n Alchemy pages usage"
11
+ results = Alchemy::Tasks::Usage.pages_count_by_type
12
+ if results.any?
13
+ puts " ----------------------"
14
+ puts "\n"
15
+ results.each do |row|
16
+ puts " #{number_with_delimiter(row["count"])} 𝗑 #{row["page_layout"]}"
17
+ end
18
+ puts "\n = #{number_with_delimiter(Alchemy::Page.count)} pages in total."
19
+ else
20
+ puts " > No pages found!"
21
+ end
22
+ end
23
+
24
+ desc "List Alchemy elements usage"
25
+ task element_usage: :environment do
26
+ include ActionView::Helpers::NumberHelper
27
+ puts "\n Alchemy elements usage"
28
+ results = Alchemy::Tasks::Usage.elements_count_by_name
29
+ if results.any?
30
+ puts " ----------------------"
31
+ puts "\n"
32
+ results.each do |row|
33
+ puts " #{number_with_delimiter(row["count"])} 𝗑 #{row["name"]}"
34
+ end
35
+ puts "\n = #{number_with_delimiter(Alchemy::Element.count)} elements in total."
36
+ else
37
+ puts " > No elements found!"
38
+ end
39
+ end
40
+ end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alchemy_cms/admin",
3
- "version": "6.1.6",
3
+ "version": "6.1.7",
4
4
  "description": "AlchemyCMS",
5
5
  "browser": "package/admin.js",
6
6
  "files": [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.6
4
+ version: 6.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2023-06-30 00:00:00.000000000 Z
16
+ date: 2023-07-07 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: actionmailer
@@ -1333,6 +1333,7 @@ files:
1333
1333
  - lib/alchemy/shell.rb
1334
1334
  - lib/alchemy/taggable.rb
1335
1335
  - lib/alchemy/tasks/tidy.rb
1336
+ - lib/alchemy/tasks/usage.rb
1336
1337
  - lib/alchemy/test_support.rb
1337
1338
  - lib/alchemy/test_support/config_stubbing.rb
1338
1339
  - lib/alchemy/test_support/essence_shared_examples.rb
@@ -1425,6 +1426,7 @@ files:
1425
1426
  - lib/tasks/alchemy/thumbnails.rake
1426
1427
  - lib/tasks/alchemy/tidy.rake
1427
1428
  - lib/tasks/alchemy/upgrade.rake
1429
+ - lib/tasks/alchemy/usage.rake
1428
1430
  - package.json
1429
1431
  - package/admin.js
1430
1432
  - package/src/__tests__/i18n.spec.js
@@ -1526,7 +1528,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1526
1528
  version: '0'
1527
1529
  requirements:
1528
1530
  - ImageMagick (libmagick), v6.6 or greater.
1529
- rubygems_version: 3.4.12
1531
+ rubygems_version: 3.4.15
1530
1532
  signing_key:
1531
1533
  specification_version: 4
1532
1534
  summary: A powerful, userfriendly and flexible CMS for Rails