lesli_dashboard 0.3.0 → 0.4.0
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/assets/javascripts/lesli_dashboard/application.js +1 -4470
- data/app/assets/stylesheets/lesli_dashboard/application.css +595 -3
- data/app/models/lesli_dashboard/account.rb +1 -1
- data/app/models/lesli_dashboard/dashboard.rb +14 -17
- data/app/views/lesli_dashboard/dashboards/show.html.erb +1 -31
- data/config/locales/translations.en.yml +1 -20
- data/config/locales/translations.es.yml +1 -20
- data/config/locales/translations.fr.yml +1 -20
- data/config/locales/translations.it.yml +1 -20
- data/config/locales/translations.pt.yml +1 -20
- data/config/routes.rb +2 -13
- data/db/migrate/0306000110_create_lesli_dashboard_accounts.rb +1 -6
- data/db/migrate/0306050110_create_lesli_dashboard_dashboards.rb +1 -15
- data/lib/lesli_dashboard/version.rb +2 -2
- data/lib/scss/application.scss +13 -0
- data/lib/vue/application.js +1 -1
- data/lib/vue/apps/assistant/show.vue +19 -1
- data/{db/migrate/0306050210_create_lesli_dashboard_dashboard_components.rb → lib/vue/apps/dashboards/components/lesli-version.vue} +43 -25
- data/lib/vue/stores/translations.json +10 -0
- data/readme.md +24 -15
- metadata +5 -19
@@ -1,21 +1,2 @@
|
|
1
1
|
---
|
2
|
-
:en:
|
3
|
-
lesli:
|
4
|
-
shared:
|
5
|
-
view_discussions: Discussions
|
6
|
-
button_add_new: Add new
|
7
|
-
button_reload: Reload
|
8
|
-
view_files: Files
|
9
|
-
view_quick_actions: Quick actions
|
10
|
-
button_list: List
|
11
|
-
button_save: Save
|
12
|
-
button_delete: Delete
|
13
|
-
button_edit: Edit
|
14
|
-
view_status_active: Active
|
15
|
-
view_status_inactive: Inactive
|
16
|
-
button_settings: Settings
|
17
|
-
button_show: Show
|
18
|
-
toolbar_search: Search...
|
19
|
-
application:
|
20
|
-
navigation_logout: Logout
|
21
|
-
navigation_my_profile: My profile
|
2
|
+
:en: {}
|
@@ -1,21 +1,2 @@
|
|
1
1
|
---
|
2
|
-
:es:
|
3
|
-
lesli:
|
4
|
-
shared:
|
5
|
-
view_discussions: Discusiones
|
6
|
-
button_add_new: Agregar nuevo
|
7
|
-
button_reload: Recargar
|
8
|
-
view_files: Archivos
|
9
|
-
view_quick_actions: Acciones rapidas
|
10
|
-
button_list: Lista
|
11
|
-
button_save: Guardar
|
12
|
-
button_delete: Eliminar
|
13
|
-
button_edit: Editar
|
14
|
-
view_status_active: Activo
|
15
|
-
view_status_inactive: Inactivo
|
16
|
-
button_settings: Configuración
|
17
|
-
button_show: Ver
|
18
|
-
toolbar_search: Buscar...
|
19
|
-
application:
|
20
|
-
navigation_logout: Cerrar sesión
|
21
|
-
navigation_my_profile: Mi perfil
|
2
|
+
:es: {}
|
@@ -1,21 +1,2 @@
|
|
1
1
|
---
|
2
|
-
:fr:
|
3
|
-
lesli:
|
4
|
-
shared:
|
5
|
-
view_discussions: ":lesli.shared.view_discussions:"
|
6
|
-
button_add_new: ":lesli.shared.button_add_new:"
|
7
|
-
button_reload: ":lesli.shared.button_reload:"
|
8
|
-
view_files: ":lesli.shared.view_files:"
|
9
|
-
view_quick_actions: ":lesli.shared.view_quick_actions:"
|
10
|
-
button_list: ":lesli.shared.button_list:"
|
11
|
-
button_save: ":lesli.shared.button_save:"
|
12
|
-
button_delete: ":lesli.shared.button_delete:"
|
13
|
-
button_edit: ":lesli.shared.button_edit:"
|
14
|
-
view_status_active: ":lesli.shared.view_status_active:"
|
15
|
-
view_status_inactive: ":lesli.shared.view_status_inactive:"
|
16
|
-
button_settings: ":lesli.shared.button_settings:"
|
17
|
-
button_show: ":lesli.shared.button_show:"
|
18
|
-
toolbar_search: ":lesli.shared.toolbar_search:"
|
19
|
-
application:
|
20
|
-
navigation_logout: ":lesli.application.navigation_logout:"
|
21
|
-
navigation_my_profile: ":lesli.application.navigation_my_profile:"
|
2
|
+
:fr: {}
|
@@ -1,21 +1,2 @@
|
|
1
1
|
---
|
2
|
-
:it:
|
3
|
-
lesli:
|
4
|
-
shared:
|
5
|
-
view_discussions: ":lesli.shared.view_discussions:"
|
6
|
-
button_add_new: ":lesli.shared.button_add_new:"
|
7
|
-
button_reload: ":lesli.shared.button_reload:"
|
8
|
-
view_files: ":lesli.shared.view_files:"
|
9
|
-
view_quick_actions: ":lesli.shared.view_quick_actions:"
|
10
|
-
button_list: ":lesli.shared.button_list:"
|
11
|
-
button_save: ":lesli.shared.button_save:"
|
12
|
-
button_delete: ":lesli.shared.button_delete:"
|
13
|
-
button_edit: ":lesli.shared.button_edit:"
|
14
|
-
view_status_active: ":lesli.shared.view_status_active:"
|
15
|
-
view_status_inactive: ":lesli.shared.view_status_inactive:"
|
16
|
-
button_settings: ":lesli.shared.button_settings:"
|
17
|
-
button_show: ":lesli.shared.button_show:"
|
18
|
-
toolbar_search: ":lesli.shared.toolbar_search:"
|
19
|
-
application:
|
20
|
-
navigation_logout: ":lesli.application.navigation_logout:"
|
21
|
-
navigation_my_profile: ":lesli.application.navigation_my_profile:"
|
2
|
+
:it: {}
|
@@ -1,21 +1,2 @@
|
|
1
1
|
---
|
2
|
-
:pt:
|
3
|
-
lesli:
|
4
|
-
shared:
|
5
|
-
view_discussions: ":lesli.shared.view_discussions:"
|
6
|
-
button_add_new: ":lesli.shared.button_add_new:"
|
7
|
-
button_reload: ":lesli.shared.button_reload:"
|
8
|
-
view_files: ":lesli.shared.view_files:"
|
9
|
-
view_quick_actions: ":lesli.shared.view_quick_actions:"
|
10
|
-
button_list: ":lesli.shared.button_list:"
|
11
|
-
button_save: ":lesli.shared.button_save:"
|
12
|
-
button_delete: ":lesli.shared.button_delete:"
|
13
|
-
button_edit: ":lesli.shared.button_edit:"
|
14
|
-
view_status_active: ":lesli.shared.view_status_active:"
|
15
|
-
view_status_inactive: ":lesli.shared.view_status_inactive:"
|
16
|
-
button_settings: ":lesli.shared.button_settings:"
|
17
|
-
button_show: ":lesli.shared.button_show:"
|
18
|
-
toolbar_search: ":lesli.shared.toolbar_search:"
|
19
|
-
application:
|
20
|
-
navigation_logout: ":lesli.application.navigation_logout:"
|
21
|
-
navigation_my_profile: ":lesli.application.navigation_my_profile:"
|
2
|
+
:pt: {}
|
data/config/routes.rb
CHANGED
@@ -31,17 +31,6 @@ Building a better future, one line of code at a time.
|
|
31
31
|
=end
|
32
32
|
|
33
33
|
LesliDashboard::Engine.routes.draw do
|
34
|
-
|
35
|
-
|
36
|
-
# Dashboard management
|
37
|
-
resource :dashboard, only: [:show]
|
38
|
-
resources :dashboards do
|
39
|
-
collection do
|
40
|
-
post "list" => :index
|
41
|
-
get :options
|
42
|
-
end
|
43
|
-
scope module: :dashboard do
|
44
|
-
resources :components
|
45
|
-
end
|
46
|
-
end
|
34
|
+
Lesli::Routing.mount_dashboard_for(LesliDashboard)
|
35
|
+
get "up" => "/rails/health#show"
|
47
36
|
end
|
@@ -32,11 +32,6 @@ Building a better future, one line of code at a time.
|
|
32
32
|
|
33
33
|
class CreateLesliDashboardAccounts < ActiveRecord::Migration[6.0]
|
34
34
|
def change
|
35
|
-
|
36
|
-
t.integer :status
|
37
|
-
t.datetime :deleted_at, index: true
|
38
|
-
t.timestamps
|
39
|
-
end
|
40
|
-
add_reference(:lesli_dashboard_accounts, :account, foreign_key: { to_table: :lesli_accounts })
|
35
|
+
create_table_lesli_shared_account_10(:lesli_dashboard)
|
41
36
|
end
|
42
37
|
end
|
@@ -32,20 +32,6 @@ Building a better future, one line of code at a time.
|
|
32
32
|
|
33
33
|
class CreateLesliDashboardDashboards < ActiveRecord::Migration[6.1]
|
34
34
|
def change
|
35
|
-
|
36
|
-
table_base_structure = JSON.parse(File.read(File.join(gem_path, "db", "structure", "00000501_dashboards.json")))
|
37
|
-
create_table :lesli_dashboard_dashboards do |t|
|
38
|
-
table_base_structure.each do |column|
|
39
|
-
t.send(
|
40
|
-
column["type"].parameterize.underscore.to_sym,
|
41
|
-
column["name"].parameterize.underscore.to_sym
|
42
|
-
)
|
43
|
-
end
|
44
|
-
t.timestamps
|
45
|
-
end
|
46
|
-
|
47
|
-
add_reference(:lesli_dashboard_dashboards, :account, foreign_key: { to_table: :lesli_dashboard_accounts })
|
48
|
-
add_reference(:lesli_dashboard_dashboards, :user, foreign_key: { to_table: :lesli_users })
|
49
|
-
#add_reference(:lesli_admin_dashboards, :role, foreign_key: { to_table: :roles })
|
35
|
+
create_table_lesli_shared_dashboards_10(:lesli_dashboard)
|
50
36
|
end
|
51
37
|
end
|
data/lib/scss/application.scss
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
@import "Lesli/scss/templates/component";
|
2
|
+
|
3
|
+
.widgets {
|
4
|
+
.column {
|
5
|
+
div {
|
6
|
+
text-align: center;
|
7
|
+
border-radius: 8px;
|
8
|
+
padding: 2rem .5rem;
|
9
|
+
border: 1px solid lesli-css-color(silver, 300);
|
10
|
+
background-color: lesli-css-color(silver, 100);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
data/lib/vue/application.js
CHANGED
@@ -49,7 +49,7 @@ import appDashboardEdit from "Lesli/vue/shared/dashboards/apps/edit.vue"
|
|
49
49
|
|
50
50
|
|
51
51
|
// ·
|
52
|
-
import componentDashboardLesliVersion from "
|
52
|
+
import componentDashboardLesliVersion from "LesliDashboard/vue/apps/dashboards/components/lesli-version.vue"
|
53
53
|
|
54
54
|
|
55
55
|
// ·
|
@@ -28,9 +28,27 @@ onMounted(()=>{
|
|
28
28
|
<lesli-application-container>
|
29
29
|
<section class="lesli-element-header is-flex mt-6">
|
30
30
|
<div class="lesli-element-header-title">
|
31
|
-
<h1 class="subtitle is-3 mb-0">{{welcomeText}}, {{ lesli.current_user?.name }}</h1>
|
31
|
+
<h1 class="subtitle is-size-3 mb-0">{{welcomeText}}, {{ lesli.current_user?.name }}</h1>
|
32
32
|
<p class="">{{ dayjs().format("dddd, MMMM D") }}.</p>
|
33
33
|
</div>
|
34
34
|
</section>
|
35
|
+
|
36
|
+
<section class="widgets">
|
37
|
+
<div class="columns is-multiline">
|
38
|
+
<div class="column is-2"><div>2</div></div>
|
39
|
+
<div class="column is-2"><div>2</div></div>
|
40
|
+
<div class="column is-2"><div>2</div></div>
|
41
|
+
<div class="column is-2"><div>2</div></div>
|
42
|
+
<div class="column is-2"><div>2</div></div>
|
43
|
+
<div class="column is-2"><div>2</div></div>
|
44
|
+
|
45
|
+
<div class="column is-4"><div>4</div></div>
|
46
|
+
<div class="column is-4"><div>4</div></div>
|
47
|
+
<div class="column is-4"><div>4</div></div>
|
48
|
+
|
49
|
+
<div class="column is-6"><div>6</div></div>
|
50
|
+
<div class="column is-6"><div>6</div></div>
|
51
|
+
</div>
|
52
|
+
</section>
|
35
53
|
</lesli-application-container>
|
36
54
|
</template>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
<script setup>
|
2
|
+
/*
|
3
3
|
Lesli
|
4
4
|
|
5
5
|
Copyright (c) 2023, Lesli Technologies, S. A.
|
@@ -28,26 +28,44 @@ Building a better future, one line of code at a time.
|
|
28
28
|
|
29
29
|
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
30
30
|
// ·
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
31
|
+
*/
|
32
|
+
|
33
|
+
|
34
|
+
// ·
|
35
|
+
import { onMounted, inject, ref } from "vue"
|
36
|
+
|
37
|
+
|
38
|
+
// ·
|
39
|
+
const url = inject("url")
|
40
|
+
const http = inject("http")
|
41
|
+
|
42
|
+
|
43
|
+
// ·
|
44
|
+
const lesliVersion = ref({
|
45
|
+
name: "",
|
46
|
+
code: "",
|
47
|
+
path: "",
|
48
|
+
version: "",
|
49
|
+
build: ""
|
50
|
+
})
|
51
|
+
|
52
|
+
|
53
|
+
// ·
|
54
|
+
onMounted(() => {
|
55
|
+
http.get(url.lesli("about")).then(result => {
|
56
|
+
lesliVersion.value = result.find(engine => engine.name == "Lesli")
|
57
|
+
}).catch(error => {
|
58
|
+
console.log(error)
|
59
|
+
})
|
60
|
+
})
|
61
|
+
</script>
|
62
|
+
<template>
|
63
|
+
<lesli-card>
|
64
|
+
<h6 class="title is-6 mb-2">
|
65
|
+
{{ lesliVersion.name }}
|
66
|
+
</h6>
|
67
|
+
<p class="p-0 m-0">version: {{ lesliVersion.version }}</p>
|
68
|
+
<p class="p-0 m-0">buid: {{ lesliVersion.build }}</p>
|
69
|
+
<p class="p-0 m-0">path: {{ lesliVersion.path }}</p>
|
70
|
+
</lesli-card>
|
71
|
+
</template>
|
@@ -20,6 +20,8 @@
|
|
20
20
|
"button_save": "Save",
|
21
21
|
"button_settings": "Settings",
|
22
22
|
"button_show": "Show",
|
23
|
+
"message_operation_error": "Operation failed. Please try again.",
|
24
|
+
"message_operation_success": "Operation completed successfully",
|
23
25
|
"toolbar_search": "Search...",
|
24
26
|
"view_discussions": "Discussions",
|
25
27
|
"view_files": "Files",
|
@@ -50,6 +52,8 @@
|
|
50
52
|
"button_save": "Guardar",
|
51
53
|
"button_settings": "Configuración",
|
52
54
|
"button_show": "Ver",
|
55
|
+
"message_operation_error": "Operación fallida. Por favor, inténtelo de nuevo.",
|
56
|
+
"message_operation_success": "Operacion realizada satisfactoriamente",
|
53
57
|
"toolbar_search": "Buscar...",
|
54
58
|
"view_discussions": "Discusiones",
|
55
59
|
"view_files": "Archivos",
|
@@ -80,6 +84,8 @@
|
|
80
84
|
"button_save": ":lesli.shared.button_save:",
|
81
85
|
"button_settings": ":lesli.shared.button_settings:",
|
82
86
|
"button_show": ":lesli.shared.button_show:",
|
87
|
+
"message_operation_error": ":lesli.shared.message_operation_error:",
|
88
|
+
"message_operation_success": ":lesli.shared.message_operation_success:",
|
83
89
|
"toolbar_search": ":lesli.shared.toolbar_search:",
|
84
90
|
"view_discussions": ":lesli.shared.view_discussions:",
|
85
91
|
"view_files": ":lesli.shared.view_files:",
|
@@ -110,6 +116,8 @@
|
|
110
116
|
"button_save": ":lesli.shared.button_save:",
|
111
117
|
"button_settings": ":lesli.shared.button_settings:",
|
112
118
|
"button_show": ":lesli.shared.button_show:",
|
119
|
+
"message_operation_error": ":lesli.shared.message_operation_error:",
|
120
|
+
"message_operation_success": ":lesli.shared.message_operation_success:",
|
113
121
|
"toolbar_search": ":lesli.shared.toolbar_search:",
|
114
122
|
"view_discussions": ":lesli.shared.view_discussions:",
|
115
123
|
"view_files": ":lesli.shared.view_files:",
|
@@ -140,6 +148,8 @@
|
|
140
148
|
"button_save": ":lesli.shared.button_save:",
|
141
149
|
"button_settings": ":lesli.shared.button_settings:",
|
142
150
|
"button_show": ":lesli.shared.button_show:",
|
151
|
+
"message_operation_error": ":lesli.shared.message_operation_error:",
|
152
|
+
"message_operation_success": ":lesli.shared.message_operation_success:",
|
143
153
|
"toolbar_search": ":lesli.shared.toolbar_search:",
|
144
154
|
"view_discussions": ":lesli.shared.view_discussions:",
|
145
155
|
"view_files": ":lesli.shared.view_files:",
|
data/readme.md
CHANGED
@@ -1,15 +1,25 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
<h3 align="center">
|
4
|
-
</
|
1
|
+
<div align="center" class="documentation-header">
|
2
|
+
<img width="100" alt="LesliDashboard logo" src="./app/assets/images/lesli_dashboard/dashboard-logo.svg" />
|
3
|
+
<h3 align="center">Dashboard Management Lesli Framework.</h3>
|
4
|
+
</div>
|
5
5
|
|
6
|
+
<br />
|
6
7
|
<hr/>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
</
|
8
|
+
|
9
|
+
<div align="center" class="documentation-statics">
|
10
|
+
<a target="blank" href="https://rubygems.org/gems/lesli">
|
11
|
+
<img height="22" alt="Gem Version" src="https://badge.fury.io/rb/lesli.svg"/>
|
12
|
+
</a>
|
13
|
+
<a class="mx-2" href="https://codecov.io/github/LesliTech/Lesli">
|
14
|
+
<img height="22" src="https://codecov.io/github/LesliTech/Lesli/graph/badge.svg?token=2O12NENK5Y"/>
|
15
|
+
</a>
|
16
|
+
<a href="https://codecov.io/github/LesliTech/LesliBabel">
|
17
|
+
<img height="22" src="https://sonarcloud.io/api/project_badges/measure?project=LesliTech_LesliBabel&metric=sqale_rating"/>
|
18
|
+
</a>
|
19
|
+
</div>
|
20
|
+
|
12
21
|
<hr/>
|
22
|
+
<br />
|
13
23
|
|
14
24
|
### Quick start
|
15
25
|
|
@@ -39,14 +49,14 @@ end
|
|
39
49
|
|
40
50
|
### Get in touch with Lesli
|
41
51
|
|
42
|
-
* [Website: https://www.lesli.tech](https://www.lesli.tech)
|
43
52
|
* [Email: hello@lesli.tech](hello@lesli.tech)
|
53
|
+
* [Website: https://www.lesli.tech](https://www.lesli.tech)
|
44
54
|
* [Twitter: @LesliTech](https://twitter.com/LesliTech)
|
45
55
|
|
46
56
|
|
47
57
|
### License
|
48
58
|
-------
|
49
|
-
Copyright (c)
|
59
|
+
Copyright (c) 2025, Lesli Technologies, S. A.
|
50
60
|
|
51
61
|
This program is free software: you can redistribute it and/or modify
|
52
62
|
it under the terms of the GNU General Public License as published by
|
@@ -64,8 +74,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
|
|
64
74
|
<hr />
|
65
75
|
<br />
|
66
76
|
|
67
|
-
<
|
77
|
+
<div align="center" class="has-text-centered">
|
68
78
|
<img width="200" alt="Lesli logo" src="https://cdn.lesli.tech/lesli/brand/app-logo.svg" />
|
69
|
-
<h4 align="center">Ruby on Rails SaaS Development Framework.</h4>
|
70
|
-
</
|
71
|
-
|
79
|
+
<h4 align="center" class="mt-0">Ruby on Rails SaaS Development Framework.</h4>
|
80
|
+
</div>
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lesli_dashboard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Lesli Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rails
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 7.0.6
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 7.0.6
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: lesli
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,7 +59,6 @@ files:
|
|
73
59
|
- config/routes.rb
|
74
60
|
- db/migrate/0306000110_create_lesli_dashboard_accounts.rb
|
75
61
|
- db/migrate/0306050110_create_lesli_dashboard_dashboards.rb
|
76
|
-
- db/migrate/0306050210_create_lesli_dashboard_dashboard_components.rb
|
77
62
|
- lib/lesli_dashboard.rb
|
78
63
|
- lib/lesli_dashboard/engine.rb
|
79
64
|
- lib/lesli_dashboard/version.rb
|
@@ -81,6 +66,7 @@ files:
|
|
81
66
|
- lib/tasks/lesli_dashboard_tasks.rake
|
82
67
|
- lib/vue/application.js
|
83
68
|
- lib/vue/apps/assistant/show.vue
|
69
|
+
- lib/vue/apps/dashboards/components/lesli-version.vue
|
84
70
|
- lib/vue/stores/translations.json
|
85
71
|
- license
|
86
72
|
- readme.md
|
@@ -99,14 +85,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
85
|
requirements:
|
100
86
|
- - ">="
|
101
87
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
88
|
+
version: '0'
|
103
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
90
|
requirements:
|
105
91
|
- - ">="
|
106
92
|
- !ruby/object:Gem::Version
|
107
93
|
version: '0'
|
108
94
|
requirements: []
|
109
|
-
rubygems_version: 3.
|
95
|
+
rubygems_version: 3.4.19
|
110
96
|
signing_key:
|
111
97
|
specification_version: 4
|
112
98
|
summary: Administration area for the Lesli Framework
|