administration-zero 0.0.5 → 0.0.8

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.
Files changed (23) hide show
  1. checksums.yaml +4 -4
  2. data/.documentation/screenshot.png +0 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +3 -2
  5. data/lib/administration_zero/version.rb +1 -1
  6. data/lib/generators/admin/install/templates/erb/admin/application/_flash_messages.html.erb +10 -10
  7. data/lib/generators/admin/install/templates/erb/admin/application/_footer.html.erb +1 -1
  8. data/lib/generators/admin/install/templates/erb/admin/application/_javascript_tags.html.erb +14 -4
  9. data/lib/generators/admin/install/templates/erb/admin/application/_page_header.html.erb +1 -2
  10. data/lib/generators/admin/install/templates/erb/admin/application/_primary_navbar.html.erb +1 -1
  11. data/lib/generators/admin/install/templates/erb/admin/application/_secondary_navbar.html.erb +1 -1
  12. data/lib/generators/admin/install/templates/erb/admin/home/index.html.erb +1 -1
  13. data/lib/generators/admin/install/templates/erb/admin/users/edit.html.erb +1 -1
  14. data/lib/generators/admin/install/templates/erb/admin/users/index.html.erb +55 -58
  15. data/lib/generators/admin/install/templates/erb/admin/users/new.html.erb +1 -1
  16. data/lib/generators/admin/install/templates/erb/admin/users/show.html.erb +1 -1
  17. data/lib/generators/admin/install/templates/erb/layouts/admin/application.html.erb +1 -0
  18. data/lib/generators/admin/install/templates/erb/layouts/admin/authentication.html.erb +1 -3
  19. data/lib/generators/admin/scaffold/templates/erb/edit.html.erb.tt +1 -1
  20. data/lib/generators/admin/scaffold/templates/erb/index.html.erb.tt +50 -53
  21. data/lib/generators/admin/scaffold/templates/erb/new.html.erb.tt +1 -1
  22. data/lib/generators/admin/scaffold/templates/erb/show.html.erb.tt +1 -1
  23. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5bccafe767ad52f263b0b90ed8e18e523f20a3527cafa289e1ff0ba4b441ecd
4
- data.tar.gz: b0e92479446d4c726209d1a7d9704f61450e5b0d17f535e111729cf55594f6c0
3
+ metadata.gz: 5c9bc430475641b273d9dc02e7e8883e74ee96c0987ce740486d26fb40812383
4
+ data.tar.gz: 9b6c6828929533f9265bcf3efc9ea7c82c7533713a7d5fc645f75464e77169c3
5
5
  SHA512:
6
- metadata.gz: 2faf2b54a173dbecf4f1941749a31a45814707ce83d44ddc42fbfee89f38d7bb19e2ee46cd74bdddb15aec5cab584bb3716eebfc511df387b88e47e0acceed3c
7
- data.tar.gz: 2bdd7e38b5ab7bdb814a5dd5fa15fcb40f46ffa4410dc1334f0f76955c3cb424c6e07cd9424464dc4641d50f94715d9e3c543eec82b8d2e078beef8bf2ed7c18
6
+ metadata.gz: b38673e793e5aebce3a1e379ab90e5870f26a1003f54299b283040341900b264e5c1448e645281795397a0c51c6e153f03a56f1cc61299e613d0588e2a47e5d6
7
+ data.tar.gz: 10f3e5d7d1cd05de057f6957da986ffffb00c506d6d0a6b493dece7fde760387a368010dadeeba9ac1c25e5d519b6480edfc129a9baaab4b6a7aab6c537d4d7b
Binary file
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- administration-zero (0.0.5)
4
+ administration-zero (0.0.8)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The purpose of administration zero is to generate a pre-built administration panel into a rails application.
4
4
 
5
- <img src=".documentation/screenshot.png" alt="Demo" style="max-width: 100%;">
5
+ <img src=".documentation/screenshot.png" alt="screenshot" style="max-width: 100%;">
6
6
 
7
7
  ## Features
8
8
 
@@ -10,6 +10,7 @@ The purpose of administration zero is to generate a pre-built administration pan
10
10
  - [Paginated results](https://github.com/ddnexus/pagy)
11
11
  - [Sortable and filterable](https://github.com/activerecord-hackery/ransack)
12
12
  - [Exportable data](https://github.com/westonganger/spreadsheet_architect)
13
+ - [Toastr for flash messages](https://getbootstrap.com/docs/5.1/components/toasts)
13
14
  - Easy authentication system
14
15
  - Admin scaffolds
15
16
 
@@ -37,7 +38,7 @@ $ rails generate admin:install
37
38
 
38
39
  Then run `bundle install` again
39
40
 
40
- Then run `rails db:seed`, you can access the admin panel in `/admin`, using `email: "admin@example.com", password: "Password9957"`
41
+ Then run `rails db:migrate db:seed`, you can access the admin panel in `/admin`, using `email: "admin@example.com", password: "Password9957"`
41
42
 
42
43
 
43
44
  Now you're ready to generate your admin scaffolds.
@@ -1,3 +1,3 @@
1
1
  module AdministrationZero
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -1,11 +1,11 @@
1
- <% if flash[:notice] %>
2
- <div class="alert alert-success mb-0 mt-3" role="alert">
3
- <div class="text-muted"><%= flash[:notice] %></div>
4
- </div>
5
- <% end %>
6
-
7
- <% if flash[:alert] %>
8
- <div class="alert alert-danger mb-0 mt-3" role="alert">
9
- <div class="text-muted"><%= flash[:alert] %></div>
10
- </div>
1
+ <% flash.each do |type, message| %>
2
+ <% if ["notice", "alert"].include?(type) %>
3
+ <div class="position-fixed start-50 translate-middle-x" style="z-index: 1030; top: 8rem;">
4
+ <div class="toast hide text-center text-white bg-dark border-0" data-controller="flash-message">
5
+ <div class="toast-body">
6
+ <%= message %>
7
+ </div>
8
+ </div>
9
+ </div>
10
+ <% end %>
11
11
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <footer class="footer footer-transparent d-print-none">
2
- <div class="container-fluid">
2
+ <div class="container-xl">
3
3
  <div class="row text-center align-items-center flex-row-reverse">
4
4
  <div class="col-lg-auto ms-lg-auto">
5
5
  <ul class="list-inline list-inline-dots mb-0">
@@ -13,11 +13,21 @@
13
13
  <script>
14
14
  document.addEventListener("DOMContentLoaded", () => {
15
15
  document.querySelectorAll(".field_with_errors").forEach((element) => {
16
- const field = element.firstChild;
17
- field.classList.add("is-invalid");
16
+ element.firstChild.classList.add("is-invalid");
18
17
 
19
- element.parentNode.insertBefore(field, element);
18
+ element.parentNode.insertBefore(element.firstChild, element);
20
19
  element.parentNode.removeChild(element);
21
- })
20
+ });
21
+ });
22
+ </script>
23
+
24
+ <!-- flash message -->
25
+ <script>
26
+ document.addEventListener("DOMContentLoaded", () => {
27
+ const selector = "[data-controller='flash-message']";
28
+
29
+ document.querySelectorAll(selector).forEach((thiz) => {
30
+ new bootstrap.Toast(thiz).show();
31
+ });
22
32
  });
23
33
  </script>
@@ -1,8 +1,7 @@
1
- <div class="container-fluid">
1
+ <div class="container-xl">
2
2
  <div class="page-header">
3
3
  <div class="row align-items-center">
4
4
  <%= yield %>
5
5
  </div>
6
6
  </div>
7
- <%= render "flash_messages" %>
8
7
  </div>
@@ -1,5 +1,5 @@
1
1
  <header class="navbar navbar-expand-md navbar-light d-print-none">
2
- <div class="container-fluid">
2
+ <div class="container-xl">
3
3
  <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-menu">
4
4
  <span class="navbar-toggler-icon"></span>
5
5
  </button>
@@ -1,7 +1,7 @@
1
1
  <div class="navbar-expand-md">
2
2
  <div class="collapse navbar-collapse" id="navbar-menu">
3
3
  <div class="navbar navbar-light">
4
- <div class="container-fluid">
4
+ <div class="container-xl">
5
5
  <ul class="navbar-nav">
6
6
  <li class="nav-item <%= active_nav_item 'admin/home' %>">
7
7
  <%= link_to admin_path, class: "nav-link" do %>
@@ -1,7 +1,7 @@
1
1
  <%= content_for :title, "Dashboard" %>
2
2
 
3
3
  <div class="page-body">
4
- <div class="container-fluid">
4
+ <div class="container-xl">
5
5
  <h1>Admin::Home#index</h1>
6
6
  <p>Find me in app/views/admin/home/index.html.erb</p>
7
7
  </div>
@@ -7,7 +7,7 @@
7
7
  <% end %>
8
8
 
9
9
  <div class="page-body">
10
- <div class="container-fluid">
10
+ <div class="container-xl">
11
11
  <div class="card">
12
12
  <div class="card-body">
13
13
  <%= render "form", admin_user: @admin_user %>
@@ -4,72 +4,69 @@
4
4
  <% end %>
5
5
 
6
6
  <%= render "page_header_actions" do %>
7
+ <%= link_to "Filters", "#offcanvas_filters", "data-bs-toggle": "offcanvas", class: "btn btn-light" %>
7
8
  <%= link_to "New admin user", new_admin_user_path, class: "btn btn-primary" %>
8
9
  <% end %>
9
10
  <% end %>
10
11
 
11
12
  <div class="page-body">
12
- <div class="container-fluid">
13
- <div class="row gy-3">
14
- <div class="col-md-4 col-lg-3">
15
- <div class="card">
16
- <div class="card-header">
17
- <h3 class="card-title">Filters</h3>
18
- </div>
19
- <%= search_form_for @search, class: "card-body" do |f| %>
20
- <%= f.label :email_cont, class: "form-label" %>
21
- <%= f.text_field :email_cont, class: "form-control mb-3" %>
22
-
23
- <%= f.label :created_at, class: "form-label" %>
24
- <div class="d-flex gap-1 mb-3">
25
- <%= f.date_field :created_at_gteq, class: "form-control" %>
26
- <%= f.date_field :created_at_lteq, class: "form-control" %>
27
- </div>
28
-
29
- <%= f.submit "Filter", class: "btn btn-primary" %>
30
- <%= link_to "Clear Filter", admin_users_path, class: "btn btn-light" %>
31
- <% end %>
32
- </div>
13
+ <div class="container-xl">
14
+ <div class="card">
15
+ <div class="table-responsive">
16
+ <table class="table table-vcenter table-nowrap card-table table-striped">
17
+ <thead>
18
+ <tr>
19
+ <th><%= sort_link @search, :id %></th>
20
+ <th><%= sort_link @search, :email %></th>
21
+ <th><%= sort_link @search, :created_at %></th>
22
+ <th class="w-1"></th>
23
+ </tr>
24
+ </thead>
25
+ <tbody>
26
+ <% @admin_users.each do |admin_user| %>
27
+ <tr>
28
+ <td><%= link_to admin_user.id, admin_user %></td>
29
+ <td><%= admin_user.email %></td>
30
+ <td><%= l(admin_user.created_at, format: :long) %></td>
31
+ <td>
32
+ <%= link_to "View", admin_user, class: "btn btn-light btn-sm" %>
33
+ <%= link_to "Edit", edit_admin_user_path(admin_user), class: "btn btn-light btn-sm" %>
34
+ <%= button_to "Delete", admin_user, method: :delete, data: { confirm: "Are you sure ?" }, form_class: "d-inline", class: "btn btn-light btn-sm" %>
35
+ </td>
36
+ </tr>
37
+ <% end %>
38
+ </tbody>
39
+ </table>
33
40
  </div>
34
- <div class="col-md-8 col-lg-9 order-md-first">
35
- <div class="card">
36
- <div class="table-responsive">
37
- <table class="table table-vcenter card-table table-striped">
38
- <thead>
39
- <tr>
40
- <th><%= sort_link @search, :id %></th>
41
- <th><%= sort_link @search, :email %></th>
42
- <th><%= sort_link @search, :created_at %></th>
43
- <th></th>
44
- </tr>
45
- </thead>
46
- <tbody>
47
- <% @admin_users.each do |admin_user| %>
48
- <tr>
49
- <td><%= link_to admin_user.id, admin_user %></td>
50
- <td><%= admin_user.email %></td>
51
- <td><%= l(admin_user.created_at, format: :long) %></td>
52
- <td>
53
- <%= link_to "View", admin_user, class: "btn btn-light btn-sm" %>
54
- <%= link_to "Edit", edit_admin_user_path(admin_user), class: "btn btn-light btn-sm" %>
55
- <%= button_to "Delete", admin_user, method: :delete, data: { confirm: "Are you sure ?" }, form_class: "d-inline", class: "btn btn-light btn-sm" %>
56
- </td>
57
- </tr>
58
- <% end %>
59
- </tbody>
60
- </table>
61
- </div>
62
- <div class="card-footer d-flex align-items-center fs-5">
63
- <div>
64
- Download: <%= link_to "CSV", admin_users_path(format: :csv, q: request.params[:q]) %>
65
- </div>
66
- <div class="ms-auto d-flex align-items-center gap-2">
67
- <%== pagy_info @pagy %>
68
- <%= render "pagination", pagy: @pagy %>
69
- </div>
70
- </div>
41
+ <div class="card-footer d-flex align-items-center fs-5">
42
+ <div class="d-none d-md-block">
43
+ <div>Download: <%= link_to "CSV", admin_posts_path(format: :csv, q: request.params[:q]) %></div>
44
+ <%== pagy_info @pagy %>
45
+ </div>
46
+ <div class="ms-auto">
47
+ <%= render "pagination", pagy: @pagy %>
71
48
  </div>
72
49
  </div>
73
50
  </div>
74
51
  </div>
75
52
  </div>
53
+
54
+ <div id="offcanvas_filters" tabindex="-1" class="offcanvas offcanvas-end">
55
+ <div class="offcanvas-header">
56
+ <h2 class="offcanvas-title">Filters</h2>
57
+ <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas"></button>
58
+ </div>
59
+ <%= search_form_for @search, class: "offcanvas-body" do |f| %>
60
+ <%= f.label :email_cont, class: "form-label" %>
61
+ <%= f.text_field :email_cont, class: "form-control mb-3" %>
62
+
63
+ <%= f.label :created_at, class: "form-label" %>
64
+ <div class="d-flex gap-1 mb-3">
65
+ <%= f.date_field :created_at_gteq, class: "form-control" %>
66
+ <%= f.date_field :created_at_lteq, class: "form-control" %>
67
+ </div>
68
+
69
+ <%= f.submit "Filter", class: "btn btn-primary" %>
70
+ <%= link_to "Clear Filter", admin_users_path, class: "btn btn-light" %>
71
+ <% end %>
72
+ </div>
@@ -6,7 +6,7 @@
6
6
  <% end %>
7
7
 
8
8
  <div class="page-body">
9
- <div class="container-fluid">
9
+ <div class="container-xl">
10
10
  <div class="card">
11
11
  <div class="card-body">
12
12
  <%= render "form", admin_user: @admin_user %>
@@ -11,7 +11,7 @@
11
11
  <% end %>
12
12
 
13
13
  <div class="page-body">
14
- <div class="container-fluid">
14
+ <div class="container-xl">
15
15
  <div class="card">
16
16
  <div class="card-header">
17
17
  <h3 class="card-title">Admin user details</h3>
@@ -23,6 +23,7 @@
23
23
  </div>
24
24
  </div>
25
25
 
26
+ <%= render "flash_messages" %>
26
27
  <%= render "javascript_tags" %>
27
28
  </body>
28
29
  </html>
@@ -21,14 +21,12 @@
21
21
  <%= image_tag "admin/logo.svg", height: 36 %>
22
22
  <% end %>
23
23
  </div>
24
- <div class="text-center mb-2">
25
- <%= render "flash_messages" %>
26
- </div>
27
24
  <%= yield %>
28
25
  </div>
29
26
  </div>
30
27
  </div>
31
28
 
29
+ <%= render "flash_messages" %>
32
30
  <%= render "javascript_tags" %>
33
31
  </body>
34
32
  </html>
@@ -7,7 +7,7 @@
7
7
  <%% end %>
8
8
 
9
9
  <div class="page-body">
10
- <div class="container-fluid">
10
+ <div class="container-xl">
11
11
  <div class="card">
12
12
  <div class="card-body">
13
13
  <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
@@ -4,74 +4,71 @@
4
4
  <%% end %>
5
5
 
6
6
  <%%= render "page_header_actions" do %>
7
+ <%%= link_to "Filters", "#offcanvas_filters", "data-bs-toggle": "offcanvas", class: "btn btn-light" %>
7
8
  <%%= link_to "New <%= human_name.downcase %>", <%= new_helper(type: :path) %>, class: "btn btn-primary" %>
8
9
  <%% end %>
9
10
  <%% end %>
10
11
 
11
12
  <div class="page-body">
12
- <div class="container-fluid">
13
- <div class="row gy-3">
14
- <div class="col-md-4 col-lg-3">
15
- <div class="card">
16
- <div class="card-header">
17
- <h3 class="card-title">Filters</h3>
18
- </div>
19
- <%%= search_form_for [:admin, @search], class: "card-body" do |f| %>
20
- <%%# f.label :name_cont, class: "form-label" %>
21
- <%%# f.text_field :name_cont, class: "form-control mb-3" %>
22
-
23
- <%%= f.submit "Filter", class: "btn btn-primary" %>
24
- <%%= link_to "Clear Filter", <%= index_helper(type: :path) %>, class: "btn btn-light" %>
25
- <%% end %>
26
- </div>
27
- </div>
28
- <div class="col-md-8 col-lg-9 order-md-first">
29
- <div class="card">
30
- <div class="table-responsive">
31
- <table class="table table-vcenter card-table table-striped">
32
- <thead>
33
- <tr>
13
+ <div class="container-xl">
14
+ <div class="card">
15
+ <div class="table-responsive">
16
+ <table class="table table-vcenter table-nowrap card-table table-striped">
17
+ <thead>
18
+ <tr>
34
19
  <% attributes.each do |attribute| -%>
35
- <th><%= attribute.human_name %></th>
20
+ <th><%%= sort_link @search, :<%= attribute.column_name %> %></th>
36
21
  <% end -%>
37
- <th></th>
38
- </tr>
39
- </thead>
40
- <tbody>
41
- <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
42
- <tr>
22
+ <th class="w-1"></th>
23
+ </tr>
24
+ </thead>
25
+ <tbody>
26
+ <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
27
+ <tr>
43
28
  <% attributes.reject(&:password_digest?).each do |attribute| -%>
44
29
  <% if attribute.attachment? -%>
45
- <td><%%= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached? %></td>
30
+ <td><%%= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached? %></td>
46
31
  <% elsif attribute.attachments? -%>
47
- <%% <%= singular_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %>
48
- <td><%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %> %></td>
49
- <%% end %>
32
+ <%% <%= singular_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %>
33
+ <td><%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %> %></td>
34
+ <%% end %>
50
35
  <% else -%>
51
- <td><%%= <%= singular_name %>.<%= attribute.column_name %> %></td>
36
+ <td><%%= <%= singular_name %>.<%= attribute.column_name %> %></td>
52
37
  <% end -%>
53
38
  <% end -%>
54
- <td>
55
- <%%= link_to "View", <%= model_resource_name %>, class: "btn btn-light btn-sm" %>
56
- <%%= link_to "Edit", <%= edit_helper(singular_table_name, type: :path) %>, class: "btn btn-light btn-sm" %>
57
- <%%= button_to "Delete", <%= model_resource_name %>, method: :delete, form_class: "d-inline", class: "btn btn-light btn-sm", data: { confirm: "Are you sure ?" } %>
58
- </td>
59
- </tr>
60
- <%% end %>
61
- </tbody>
62
- </table>
63
- </div>
64
- <div class="card-footer d-flex align-items-center fs-5">
65
- <div>
66
- Download: <%%= link_to "CSV", <%= index_helper(type: :path) %>(format: :csv, q: request.params[:q]) %>
67
- </div>
68
- <div class="ms-auto d-flex align-items-center gap-2">
69
- <%%== pagy_info @pagy %>
70
- <%%= render "pagination", pagy: @pagy %>
71
- </div>
72
- </div>
39
+ <td>
40
+ <%%= link_to "View", <%= model_resource_name %>, class: "btn btn-light btn-sm" %>
41
+ <%%= link_to "Edit", <%= edit_helper(singular_table_name, type: :path) %>, class: "btn btn-light btn-sm" %>
42
+ <%%= button_to "Delete", <%= model_resource_name %>, method: :delete, form_class: "d-inline", class: "btn btn-light btn-sm", data: { confirm: "Are you sure ?" } %>
43
+ </td>
44
+ </tr>
45
+ <%% end %>
46
+ </tbody>
47
+ </table>
48
+ </div>
49
+ <div class="card-footer d-flex align-items-center fs-5">
50
+ <div class="d-none d-md-block">
51
+ <div>Download: <%%= link_to "CSV", <%= index_helper(type: :path) %>(format: :csv, q: request.params[:q]) %></div>
52
+ <%%== pagy_info @pagy %>
53
+ </div>
54
+ <div class="ms-auto">
55
+ <%%= render "pagination", pagy: @pagy %>
73
56
  </div>
74
57
  </div>
75
58
  </div>
76
59
  </div>
77
60
  </div>
61
+
62
+ <div id="offcanvas_filters" tabindex="-1" class="offcanvas offcanvas-end">
63
+ <div class="offcanvas-header">
64
+ <h2 class="offcanvas-title">Filters</h2>
65
+ <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas"></button>
66
+ </div>
67
+ <%%= search_form_for [:admin, @search], class: "offcanvas-body" do |f| %>
68
+ <%%# f.label :name_cont, class: "form-label" %>
69
+ <%%# f.text_field :name_cont, class: "form-control mb-3" %>
70
+
71
+ <%%= f.submit "Filter", class: "btn btn-primary" %>
72
+ <%%= link_to "Clear Filter", <%= index_helper(type: :path) %>, class: "btn btn-light" %>
73
+ <%% end %>
74
+ </div>
@@ -6,7 +6,7 @@
6
6
  <%% end %>
7
7
 
8
8
  <div class="page-body">
9
- <div class="container-fluid">
9
+ <div class="container-xl">
10
10
  <div class="card">
11
11
  <div class="card-body">
12
12
  <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
@@ -11,7 +11,7 @@
11
11
  <%% end %>
12
12
 
13
13
  <div class="page-body">
14
- <div class="container-fluid">
14
+ <div class="container-xl">
15
15
  <div class="card">
16
16
  <div class="card-header">
17
17
  <h3 class="card-title"><%= human_name %> details</h3>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: administration-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nixon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-09 00:00:00.000000000 Z
11
+ date: 2022-03-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: