maquina 0.5.2 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +3 -35
  5. data/app/assets/javascripts/controllers/alert_controller.js +22 -0
  6. data/app/assets/stylesheets/maquina/application.tailwind.css +4 -101
  7. data/app/assets/stylesheets/maquina.css +114 -0
  8. data/app/controllers/concerns/maquina/authenticate.rb +29 -1
  9. data/app/controllers/concerns/maquina/index.rb +81 -2
  10. data/app/controllers/concerns/maquina/resourceful.rb +95 -9
  11. data/app/controllers/maquina/application_controller.rb +1 -1
  12. data/app/controllers/maquina/dashboard_controller.rb +10 -5
  13. data/app/controllers/maquina/invitations_controller.rb +0 -2
  14. data/app/controllers/maquina/plans_controller.rb +13 -23
  15. data/app/controllers/maquina/sessions_controller.rb +1 -1
  16. data/app/controllers/maquina/users_controller.rb +0 -2
  17. data/app/helpers/maquina/application_helper.rb +0 -8
  18. data/app/helpers/maquina/navbar_menu_helper.rb +1 -1
  19. data/app/models/concerns/maquina/blockeable.rb +64 -0
  20. data/app/models/concerns/maquina/organization_scoped.rb +26 -0
  21. data/app/models/concerns/maquina/retain_passwords.rb +44 -0
  22. data/app/models/concerns/maquina/sqlite_search.rb +92 -0
  23. data/app/models/concerns/maquina/user_scoped.rb +26 -0
  24. data/app/models/maquina/active_session.rb +40 -0
  25. data/app/models/maquina/current.rb +39 -2
  26. data/app/models/maquina/invitation.rb +28 -0
  27. data/app/models/maquina/membership.rb +23 -1
  28. data/app/models/maquina/organization.rb +19 -2
  29. data/app/models/maquina/plan.rb +26 -6
  30. data/app/models/maquina/used_password.rb +30 -0
  31. data/app/models/maquina/user.rb +50 -8
  32. data/app/policies/maquina/application_policy.rb +1 -1
  33. data/app/policies/maquina/dashboard_policy.rb +7 -0
  34. data/app/views/layouts/maquina/application.html.erb +2 -2
  35. data/app/views/layouts/maquina/sessions.html.erb +1 -1
  36. data/app/views/maquina/application/_navbar.html.erb +8 -3
  37. data/app/views/maquina/application/components/checkbox_component.rb +3 -3
  38. data/app/views/maquina/application/components/component_base.rb +3 -2
  39. data/app/views/maquina/application/edit.html.erb +10 -7
  40. data/app/views/maquina/application/filters.rb +118 -0
  41. data/app/views/maquina/application/index.html.erb +6 -3
  42. data/app/views/maquina/application/index_header.rb +5 -2
  43. data/app/views/maquina/application/index_table.rb +71 -6
  44. data/app/views/maquina/application/index_tools.rb +17 -0
  45. data/app/views/maquina/application/new.html.erb +10 -7
  46. data/app/views/maquina/application/search.rb +42 -0
  47. data/app/views/maquina/application/sessions_header.rb +3 -9
  48. data/app/views/maquina/dashboard/index.html.erb +4 -0
  49. data/app/views/maquina/dashboard/stats.rb +35 -0
  50. data/app/views/maquina/dashboard/tasks.rb +124 -0
  51. data/app/views/maquina/first_runs/form.rb +0 -2
  52. data/app/views/maquina/first_runs/show.html.erb +4 -1
  53. data/app/views/maquina/navbar/title.rb +4 -2
  54. data/config/importmap.rb +1 -13
  55. data/config/locales/flash.en.yml +6 -0
  56. data/config/locales/flash.es.yml +6 -0
  57. data/config/locales/forms.en.yml +33 -4
  58. data/config/locales/forms.es.yml +22 -11
  59. data/config/locales/models.en.yml +10 -0
  60. data/config/locales/models.es.yml +10 -0
  61. data/config/locales/views.en.yml +33 -5
  62. data/config/locales/views.es.yml +28 -10
  63. data/config/routes.rb +1 -0
  64. data/db/migrate/20221109010726_create_maquina_plans.rb +1 -1
  65. data/db/migrate/20221113000409_create_maquina_users.rb +1 -1
  66. data/db/migrate/20221113020108_create_maquina_used_passwords.rb +1 -1
  67. data/db/migrate/20221115223414_create_maquina_active_sessions.rb +1 -3
  68. data/db/migrate/20230201203922_create_maquina_invitations.rb +1 -1
  69. data/db/migrate/20230829183530_create_maquina_organizations.rb +1 -1
  70. data/db/migrate/20230829192656_create_maquina_memberships.rb +2 -4
  71. data/db/migrate/20241109191405_add_counter_cache_to_plans.rb +5 -0
  72. data/lib/generators/maquina/install_generator.rb +67 -1
  73. data/lib/generators/maquina/tailwind_config/templates/lib/generators/tailwind_config/templates/config/tailwind.config.js.tt +9 -5
  74. data/lib/generators/maquina/tailwind_config/templates/lib/tasks/tailwind.rake.tt +2 -0
  75. data/lib/generators/maquina/templates/config/initializers/maquina.rb.tt +2 -1
  76. data/lib/maquina/engine.rb +6 -3
  77. data/lib/maquina/version.rb +1 -1
  78. data/lib/maquina.rb +2 -9
  79. metadata +20 -76
  80. data/app/assets/javascripts/maquina/application.js +0 -4
  81. data/app/assets/javascripts/maquina/controllers/alert_controller.js +0 -29
  82. data/app/assets/javascripts/maquina/controllers/application.js +0 -9
  83. data/app/assets/javascripts/maquina/controllers/index.js +0 -11
  84. data/app/models/concerns/maquina/authenticate_by.rb +0 -33
  85. data/app/views/maquina/navbar/search.rb +0 -40
  86. data/lib/generators/maquina/install_templates/install_templates_generator.rb +0 -31
  87. /data/app/assets/javascripts/{maquina/controllers → controllers}/backdrop_controller.js +0 -0
  88. /data/app/assets/javascripts/{maquina/controllers → controllers}/file_controller.js +0 -0
  89. /data/app/assets/javascripts/{maquina/controllers → controllers}/mobile_menu_controller.js +0 -0
  90. /data/app/assets/javascripts/{maquina/controllers → controllers}/modal_controller.js +0 -0
  91. /data/app/assets/javascripts/{maquina/controllers → controllers}/modal_open_controller.js +0 -0
  92. /data/app/assets/javascripts/{maquina/controllers → controllers}/popup_menu_controller.js +0 -0
  93. /data/app/assets/javascripts/{maquina/controllers → controllers}/submit_form_controller.js +0 -0
@@ -13,6 +13,7 @@ en:
13
13
  attributes:
14
14
  maquina/plan:
15
15
  name: Name
16
+ organizations_count: Organizations
16
17
  trial: Trial days
17
18
  price: Price
18
19
  free: Free
@@ -32,3 +33,12 @@ en:
32
33
  email:
33
34
  blank: please provide an email to send invitation
34
35
  invalid: user already accepted the invitation
36
+ maquina/plan:
37
+ attributes:
38
+ name:
39
+ blank: "Name is required for the subscription plan"
40
+ taken: "A plan with this name already exists"
41
+ price:
42
+ greater_than: "Price must be greater than %{count} for paid plans"
43
+ greater_than_or_equal_to: "Price needs to be %{count} for for free plans"
44
+ not_a_number: "Price must be a valid amount"
@@ -14,6 +14,7 @@ es:
14
14
  attributes:
15
15
  maquina/plan:
16
16
  name: Nombre
17
+ organizations_count: Organizaciones
17
18
  trial: Prueba
18
19
  price: Precio
19
20
  free: Gratuito
@@ -37,3 +38,12 @@ es:
37
38
  email:
38
39
  blank: se necesita el correo electrónico a enviar invitación
39
40
  invalid: invitación ya aceptada
41
+ maquina/plan:
42
+ attributes:
43
+ name:
44
+ blank: "Se necesita un nombre para el plan de suscripción"
45
+ taken: "Ya existe un plan con este nombre"
46
+ price:
47
+ greater_than: "El precio debe ser mayor que %{count} para planes de pago"
48
+ greater_than_or_equal_to: "El precio debe ser {%count} para planes gratuitos"
49
+ not_a_number: "El precio debe ser un importe válido"
@@ -1,5 +1,5 @@
1
1
  en:
2
- application_name: Maquina
2
+ application_name: maquina
3
3
  yes_value: "Yes"
4
4
  no_value: "No"
5
5
 
@@ -8,7 +8,8 @@ en:
8
8
  no_items: There are currently no %{model} to display
9
9
  edit: Edit
10
10
  maquina/plan:
11
- description: List of customer's plans.
11
+ title: Subscription %{model} management
12
+ description: View and manage all active subscription plans. Monitor usage and update configurations.
12
13
  maquina/user:
13
14
  add_new: Invite %{model}
14
15
  description: List of users.
@@ -29,13 +30,40 @@ en:
29
30
 
30
31
  search:
31
32
  search: Search
33
+ filters:
34
+ clear: Remove filters
32
35
 
33
36
  maquina:
37
+ first_runs:
38
+ show:
39
+ title: Welcome to maquina
40
+ subtitle: Create your first admin account
41
+
42
+ sessions_header:
43
+
34
44
  sessions:
35
45
  new:
36
- title: Sign in to your account
37
- or: Or
38
- trial: start your 14-day free trial
46
+ title: Welcome back
47
+ subtitle: Sign in to your account to continue your journey
48
+
49
+ dashboard:
50
+ index:
51
+ stats:
52
+ title: Statistics
53
+ total_plans: Plans
54
+ total_organizations: Organizations
55
+ tasks:
56
+ title: "Administrative Tasks"
57
+ subtitle: "Manage your customers' plans, users, and organization settings"
58
+ create_plan:
59
+ title: "Create Customer Plan"
60
+ description: "Set up and configure new subscription plans"
61
+ manage_users:
62
+ title: "Manage Users"
63
+ description: "Invite team members and manage access permissions"
64
+ organization_settings:
65
+ title: "Organization Settings"
66
+ description: "Configure organizations preferences and billing"
39
67
 
40
68
  accept_invitations:
41
69
  new:
@@ -9,7 +9,8 @@ es:
9
9
  edit: Modificar
10
10
 
11
11
  maquina/plan:
12
- description: Listado de planes.
12
+ title: Planes de Suscripción
13
+ description: Ver y administrar todos los planes de suscripción activos. Monitorear el uso y actualizar configuraciones.
13
14
  maquina/user:
14
15
  add_new: Invitar %{model}
15
16
  description: Listado de usuarios.
@@ -29,21 +30,38 @@ es:
29
30
 
30
31
  search:
31
32
  search: Buscar
33
+ filters:
34
+ clear: Eliminar filtros
32
35
 
33
36
  maquina:
34
- application:
35
- first_runs_header:
37
+ first_runs:
38
+ show:
36
39
  title: Bienvenido a maquina
37
- description: Crea tu primera cuenta de administrador
38
-
39
- sessions_header:
40
- title: Iniciar sesión
40
+ subtitle: Crea tu primera cuenta de administrador
41
41
 
42
42
  sessions:
43
43
  new:
44
- title: Iniciar sesión a tu cuenta
45
- or: O
46
- trial: iniciar tu prueba
44
+ title: Bienvenido de nuevo
45
+ subtitle: Inicia sesión para continuar tu viaje
46
+
47
+ dashboard:
48
+ index:
49
+ stats:
50
+ title: Estadísticas
51
+ total_plans: Planes
52
+ total_organizations: Organizaciones
53
+ tasks:
54
+ title: "Tareas Administrativas"
55
+ subtitle: "Administre sus planes de suscripción, usuarios y configuraciones de la organización"
56
+ create_plan:
57
+ title: "Crear Plan de Cliente"
58
+ description: "Configure y cree nuevos planes de suscripción"
59
+ manage_users:
60
+ title: "Gestionar Usuarios"
61
+ description: "Invite miembros del equipo y gestione permisos de acceso"
62
+ organization_settings:
63
+ title: "Configuración de la Organización"
64
+ description: "Configure las preferencias y facturación de organizaciones"
47
65
 
48
66
  accept_invitations:
49
67
  new:
data/config/routes.rb CHANGED
@@ -14,5 +14,6 @@ Maquina::Engine.routes.draw do
14
14
  resources :users, path: I18n.t("routes.users"), only: [:index]
15
15
  resources :invitations, path: I18n.t("routes.invitations"), only: [:new, :create]
16
16
 
17
+ get "/dashboard", to: "dashboard#index", as: :dashboard
17
18
  root to: "dashboard#index"
18
19
  end
@@ -1,4 +1,4 @@
1
- class CreateMaquinaPlans < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaPlans < ActiveRecord::Migration[7.2]
2
2
  def change
3
3
  create_table :maquina_plans do |t|
4
4
  t.string :name, null: false
@@ -1,4 +1,4 @@
1
- class CreateMaquinaUsers < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaUsers < ActiveRecord::Migration[7.2]
2
2
  def change
3
3
  create_table :maquina_users do |t|
4
4
  t.string :email, null: false
@@ -1,4 +1,4 @@
1
- class CreateMaquinaUsedPasswords < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaUsedPasswords < ActiveRecord::Migration[7.2]
2
2
  def change
3
3
  create_table :maquina_used_passwords do |t|
4
4
  t.string :password_digest
@@ -1,6 +1,4 @@
1
- # frozen_string_literal: true
2
-
3
- class CreateMaquinaActiveSessions < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaActiveSessions < ActiveRecord::Migration[7.2]
4
2
  def change
5
3
  create_table :maquina_active_sessions do |t|
6
4
  t.references :maquina_user, null: false, foreign_key: true
@@ -1,4 +1,4 @@
1
- class CreateMaquinaInvitations < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaInvitations < ActiveRecord::Migration[7.2]
2
2
  def change
3
3
  create_table :maquina_invitations do |t|
4
4
  t.string :email, null: false
@@ -1,4 +1,4 @@
1
- class CreateMaquinaOrganizations < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaOrganizations < ActiveRecord::Migration[7.2]
2
2
  def change
3
3
  create_table :maquina_organizations do |t|
4
4
  t.string :name
@@ -1,12 +1,10 @@
1
- class CreateMaquinaMemberships < ActiveRecord::Migration[7.0]
1
+ class CreateMaquinaMemberships < ActiveRecord::Migration[7.2]
2
2
  def change
3
- create_enum :maquina_role, %w[admin member]
4
-
5
3
  create_table :maquina_memberships do |t|
6
4
  t.references :maquina_organization, null: false, foreign_key: true
7
5
  t.references :maquina_user, null: false, foreign_key: true
8
6
  t.boolean :owner, default: false
9
- t.enum :role, enum_type: :maquina_role, default: "member", null: false
7
+ t.string :role, default: "member", null: false
10
8
  t.timestamp :blocked_at
11
9
 
12
10
  t.timestamps
@@ -0,0 +1,5 @@
1
+ class AddCounterCacheToPlans < ActiveRecord::Migration[7.2]
2
+ def change
3
+ add_column :maquina_plans, :organizations_count, :integer, null: false, default: 0
4
+ end
5
+ end
@@ -4,13 +4,21 @@ module Maquina
4
4
  class InstallGenerator < Rails::Generators::Base
5
5
  source_root File.expand_path("../templates", __FILE__)
6
6
 
7
+ # TODO: Add this to application.rb
8
+ # insert_into_file "config/application.rb", before: " end" do
9
+ # <<EOF
10
+ # # Disable Rails' field_with_errors functionality
11
+ # config.action_view.field_error_proc = proc { |html_tag, instance| html_tag.html_safe }
12
+ # EOF
13
+ # end
14
+
7
15
  def create_initializer_file
8
16
  template "config/initializers/maquina.rb"
9
17
  end
10
18
 
11
19
  def add_route
12
20
  return if Rails.application.routes.routes.detect { |route| route.app.app == Maquina::Engine }
13
- route %(mount Maquina::Engine => "/m")
21
+ route %(mount Maquina::Engine => "/")
14
22
  end
15
23
 
16
24
  def add_concerns
@@ -21,8 +29,66 @@ module Maquina
21
29
  end
22
30
  end
23
31
 
32
+ def copy_layout
33
+ empty_directory "app/views/layouts/maquina"
34
+ directory File.join(engine_views_path, "layouts", "maquina"),
35
+ File.join(app_views_path, "layouts", "maquina")
36
+
37
+ gsub_file "app/views/layouts/maquina/application.html.erb",
38
+ "maquina_importmap_tags",
39
+ "javascript_importmap_tags"
40
+
41
+ gsub_file "app/views/layouts/maquina/sessions.html.erb",
42
+ "maquina_importmap_tags",
43
+ "javascript_importmap_tags"
44
+ end
45
+
46
+ def copy_controllers
47
+ empty_directory "app/controllers/maquina"
48
+ copy_file File.join(engine_controllers_path, "maquina", "dashboard_controller.rb"),
49
+ File.join(app_controllers_path, "maquina", "dashboard_controller.rb")
50
+ end
51
+
52
+ def copy_views
53
+ empty_directory "app/views/maquina/dashboard"
54
+ directory File.join(engine_views_path, "maquina", "dashboard"),
55
+ File.join(app_views_path, "maquina", "dashboard")
56
+ end
57
+
58
+ # def copy_stimulus_controllers
59
+ # Dir.glob(File.join(engine_stimulus_path, "*_controller.js")) do |file|
60
+ # copy_file file, File.join(app_stimulus_path, File.basename(file))
61
+ # end
62
+ # end
63
+
24
64
  def copy_migrations
25
65
  rake "maquina:install:migrations"
26
66
  end
67
+
68
+ private
69
+
70
+ def engine_views_path
71
+ @engine_views_path ||= File.join(Maquina::Engine.root, "app", "views")
72
+ end
73
+
74
+ def app_views_path
75
+ @app_views_path ||= File.join(Rails.root, "app", "views")
76
+ end
77
+
78
+ def engine_controllers_path
79
+ @engine_controllers_path ||= File.join(Maquina::Engine.root, "app", "controllers")
80
+ end
81
+
82
+ def app_controllers_path
83
+ @app_controllers_path ||= File.join(Rails.root, "app", "controllers")
84
+ end
85
+
86
+ # def engine_stimulus_path
87
+ # @engine_stimulus_path ||= File.join(Maquina::Engine.root, "app", "assets", "javascripts", "maquina", "controllers")
88
+ # end
89
+ #
90
+ # def app_stimulus_path
91
+ # @app_stimulus_path ||= File.join(Rails.root, "app", "javascript", "controllers")
92
+ # end
27
93
  end
28
94
  end
@@ -22,11 +22,17 @@ module.exports = {
22
22
  muted: 'rgb(var(--color-muted) / <alpha-value>)',
23
23
  dimmed: 'rgb(var(--color-dimmed) / <alpha-value>)',
24
24
  error: 'rgb(var(--color-error) / <alpha-value>)',
25
+ alternate: 'rgb(var(--color-alternate) / <alpha-value>)',
26
+ 'alternate-1'': 'rgb(var(--color-alternate-1) / <alpha-value>)',
27
+ 'alternate-2': 'rgb(var(--color-alternate-2) / <alpha-value>)'
25
28
  }
26
29
  },
27
30
  textDecorationColor: {
28
31
  skin: {
29
32
  accented: 'rgb(var(--color-accented) / <alpha-value>)',
33
+ alternate: 'rgb(var(--color-alternate) / <alpha-value>)',
34
+ 'alternate-1'': 'rgb(var(--color-alternate-1) / <alpha-value>)',
35
+ 'alternate-2': 'rgb(var(--color-alternate-2) / <alpha-value>)'
30
36
  }
31
37
  },
32
38
  backgroundColor: {
@@ -41,6 +47,9 @@ module.exports = {
41
47
  dimmed: 'rgb(var(--color-dimmed) / <alpha-value>)',
42
48
  accented: 'rgb(var(--color-accented) / <alpha-value>)',
43
49
  'accented-hover': 'rgb(var(--color-accented-hover) / <alpha-value>)',
50
+ alternate: 'rgb(var(--color-alternate) / <alpha-value>)',
51
+ 'alternate-1'': 'rgb(var(--color-alternate-1) / <alpha-value>)',
52
+ 'alternate-2': 'rgb(var(--color-alternate-2) / <alpha-value>)'
44
53
  }
45
54
  },
46
55
  ringColor: {
@@ -57,11 +66,6 @@ module.exports = {
57
66
  accented: 'rgb(var(--color-border-accented) / <alpha-value>)',
58
67
  }
59
68
  },
60
- textDecorationColor: {
61
- skin: {
62
- accented: 'rgb(var(--color-border-accented) / <alpha-value>)'
63
- }
64
- }
65
69
  },
66
70
  },
67
71
  plugins: [
@@ -3,6 +3,8 @@
3
3
  namespace :tailwindcss do
4
4
  desc "Generates your tailwind config file"
5
5
  task :config do
6
+ require "rails/generators"
7
+
6
8
  Rails::Generators.invoke("tailwind_config", ["--force"])
7
9
  end
8
10
  end
@@ -2,5 +2,6 @@
2
2
 
3
3
  Maquina.configure do |config|
4
4
  # Configure membership roles.
5
- config.membership_roles = Maquina.postgresql? ? {admin: "admin", member: "member"} : {admin: 0, member: 1}
5
+ config.membership_roles = ["admin", "member"].index_by(&:itself)
6
+ # config.search_adapter = null # Search adapter to use. Default is null. Allowed values are: :sqlite, :pg_search
6
7
  end
@@ -1,13 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "importmap-rails"
4
- require "turbo-rails"
5
- require "stimulus-rails"
6
3
  require "phlex-rails"
7
4
 
8
5
  module Maquina
9
6
  class Engine < ::Rails::Engine
10
7
  config.autoload_paths += %W[#{Engine.root}/app/views]
11
8
  isolate_namespace Maquina
9
+
10
+ initializer "maquina.importmap", before: "importmap" do |app|
11
+ puts "Maquina: Importmap"
12
+ puts Engine.root.join("config/importmap.rb")
13
+ app.config.importmap.paths << Engine.root.join("config/importmap.rb")
14
+ end
12
15
  end
13
16
  end
@@ -1,3 +1,3 @@
1
1
  module Maquina
2
- VERSION = "0.5.2"
2
+ VERSION = "0.7.1"
3
3
  end
data/lib/maquina.rb CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require_relative "maquina/version"
4
4
  require_relative "maquina/engine"
5
- require "importmap-rails"
6
5
  require "money-rails"
7
6
  require "turbo-rails"
8
7
  require "action_policy"
@@ -11,15 +10,11 @@ require "pagy"
11
10
  module Maquina
12
11
  class << self
13
12
  attr_accessor :configuration
14
-
15
- def postgresql?
16
- ActiveRecord::Base.connection_db_config.configuration_hash[:adapter].downcase == "postgresql"
17
- end
18
13
  end
19
14
 
20
15
  class Configuration
21
16
  attr_accessor :password_retain_count, :temporary_block, :session_expiration, :signin_attempts, :tailwind_content,
22
- :importmap, :root_app_path, :membership_roles
17
+ :importmap, :root_app_path, :membership_roles, :search_adapter
23
18
 
24
19
  def initialize
25
20
  @password_retain_count = 3
@@ -29,9 +24,7 @@ module Maquina
29
24
  @root_app_path = "/"
30
25
 
31
26
  @membership_roles = %w[admin member].index_by(&:itself)
32
-
33
- @importmap = Importmap::Map.new
34
- @importmap.draw(Engine.root.join("config/importmap.rb"))
27
+ @search_adapter = nil
35
28
 
36
29
  @tailwind_content = [
37
30
  "#{Maquina::Engine.root}/app/views/**/*.{rb,erb}",
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maquina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Alberto Chávez
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-09-15 00:00:00.000000000 Z
10
+ date: 2025-01-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -52,48 +51,6 @@ dependencies:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: 1.15.0
55
- - !ruby/object:Gem::Dependency
56
- name: turbo-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 2.0.0
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 2.0.0
69
- - !ruby/object:Gem::Dependency
70
- name: stimulus-rails
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 1.3.0
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.3.0
83
- - !ruby/object:Gem::Dependency
84
- name: importmap-rails
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: 2.0.0
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 2.0.0
97
54
  - !ruby/object:Gem::Dependency
98
55
  name: tailwindcss-rails
99
56
  requirement: !ruby/object:Gem::Requirement
@@ -192,20 +149,6 @@ dependencies:
192
149
  - - ">="
193
150
  - !ruby/object:Gem::Version
194
151
  version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: solargraph
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
152
  - !ruby/object:Gem::Dependency
210
153
  name: brakeman
211
154
  requirement: !ruby/object:Gem::Requirement
@@ -251,17 +194,15 @@ files:
251
194
  - Rakefile
252
195
  - app/assets/images/maquina/.keep
253
196
  - app/assets/images/maquina/maquina.svg
254
- - app/assets/javascripts/maquina/application.js
255
- - app/assets/javascripts/maquina/controllers/alert_controller.js
256
- - app/assets/javascripts/maquina/controllers/application.js
257
- - app/assets/javascripts/maquina/controllers/backdrop_controller.js
258
- - app/assets/javascripts/maquina/controllers/file_controller.js
259
- - app/assets/javascripts/maquina/controllers/index.js
260
- - app/assets/javascripts/maquina/controllers/mobile_menu_controller.js
261
- - app/assets/javascripts/maquina/controllers/modal_controller.js
262
- - app/assets/javascripts/maquina/controllers/modal_open_controller.js
263
- - app/assets/javascripts/maquina/controllers/popup_menu_controller.js
264
- - app/assets/javascripts/maquina/controllers/submit_form_controller.js
197
+ - app/assets/javascripts/controllers/alert_controller.js
198
+ - app/assets/javascripts/controllers/backdrop_controller.js
199
+ - app/assets/javascripts/controllers/file_controller.js
200
+ - app/assets/javascripts/controllers/mobile_menu_controller.js
201
+ - app/assets/javascripts/controllers/modal_controller.js
202
+ - app/assets/javascripts/controllers/modal_open_controller.js
203
+ - app/assets/javascripts/controllers/popup_menu_controller.js
204
+ - app/assets/javascripts/controllers/submit_form_controller.js
205
+ - app/assets/stylesheets/maquina.css
265
206
  - app/assets/stylesheets/maquina/application.css
266
207
  - app/assets/stylesheets/maquina/application.tailwind.css
267
208
  - app/controllers/concerns/.keep
@@ -290,11 +231,11 @@ files:
290
231
  - app/mailers/maquina/application_mailer.rb
291
232
  - app/mailers/maquina/user_notifications_mailer.rb
292
233
  - app/models/concerns/.keep
293
- - app/models/concerns/maquina/authenticate_by.rb
294
234
  - app/models/concerns/maquina/blockeable.rb
295
235
  - app/models/concerns/maquina/multifactor.rb
296
236
  - app/models/concerns/maquina/organization_scoped.rb
297
237
  - app/models/concerns/maquina/retain_passwords.rb
238
+ - app/models/concerns/maquina/sqlite_search.rb
298
239
  - app/models/concerns/maquina/user_scoped.rb
299
240
  - app/models/maquina/active_session.rb
300
241
  - app/models/maquina/application_record.rb
@@ -306,6 +247,7 @@ files:
306
247
  - app/models/maquina/used_password.rb
307
248
  - app/models/maquina/user.rb
308
249
  - app/policies/maquina/application_policy.rb
250
+ - app/policies/maquina/dashboard_policy.rb
309
251
  - app/policies/maquina/invitation_policy.rb
310
252
  - app/policies/maquina/navigation_policy.rb
311
253
  - app/policies/maquina/plan_policy.rb
@@ -329,18 +271,23 @@ files:
329
271
  - app/views/maquina/application/create.turbo_stream.erb
330
272
  - app/views/maquina/application/edit.html.erb
331
273
  - app/views/maquina/application/edit.rb
274
+ - app/views/maquina/application/filters.rb
332
275
  - app/views/maquina/application/form.rb
333
276
  - app/views/maquina/application/index.html.erb
334
277
  - app/views/maquina/application/index_header.rb
335
278
  - app/views/maquina/application/index_modal.rb
336
279
  - app/views/maquina/application/index_table.rb
280
+ - app/views/maquina/application/index_tools.rb
337
281
  - app/views/maquina/application/new.html.erb
338
282
  - app/views/maquina/application/new.rb
283
+ - app/views/maquina/application/search.rb
339
284
  - app/views/maquina/application/sessions_header.rb
340
285
  - app/views/maquina/application/show.html.erb
341
286
  - app/views/maquina/application/update.turbo_stream.erb
342
287
  - app/views/maquina/application_view.rb
343
288
  - app/views/maquina/dashboard/index.html.erb
289
+ - app/views/maquina/dashboard/stats.rb
290
+ - app/views/maquina/dashboard/tasks.rb
344
291
  - app/views/maquina/first_runs/form.rb
345
292
  - app/views/maquina/first_runs/show.html.erb
346
293
  - app/views/maquina/form.rb
@@ -355,7 +302,6 @@ files:
355
302
  - app/views/maquina/navbar/profile_button.rb
356
303
  - app/views/maquina/navbar/profile_menu.rb
357
304
  - app/views/maquina/navbar/profile_menu_item_link.rb
358
- - app/views/maquina/navbar/search.rb
359
305
  - app/views/maquina/navbar/title.rb
360
306
  - app/views/maquina/sessions/form.rb
361
307
  - app/views/maquina/sessions/new.html.erb
@@ -384,10 +330,10 @@ files:
384
330
  - db/migrate/20230201203922_create_maquina_invitations.rb
385
331
  - db/migrate/20230829183530_create_maquina_organizations.rb
386
332
  - db/migrate/20230829192656_create_maquina_memberships.rb
333
+ - db/migrate/20241109191405_add_counter_cache_to_plans.rb
387
334
  - db/schema.rb
388
335
  - lib/generators/maquina/install_generator.rb
389
336
  - lib/generators/maquina/install_stimulus_controllers/install_stimulus_controllers_generator.rb
390
- - lib/generators/maquina/install_templates/install_templates_generator.rb
391
337
  - lib/generators/maquina/tailwind_config/USAGE
392
338
  - lib/generators/maquina/tailwind_config/tailwind_config_generator.rb
393
339
  - lib/generators/maquina/tailwind_config/templates/app/assets/stylesheets/maquina.css
@@ -407,7 +353,6 @@ metadata:
407
353
  homepage_uri: https://mariochavez.io
408
354
  source_code_uri: https://github.com/mariochavez/maquina
409
355
  changelog_uri: https://github.com/mariochavez/maquina
410
- post_install_message:
411
356
  rdoc_options: []
412
357
  require_paths:
413
358
  - lib
@@ -422,8 +367,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
422
367
  - !ruby/object:Gem::Version
423
368
  version: '0'
424
369
  requirements: []
425
- rubygems_version: 3.5.18
426
- signing_key:
370
+ rubygems_version: 3.6.2
427
371
  specification_version: 4
428
372
  summary: Rails engine for building Rails applications.
429
373
  test_files: []
@@ -1,4 +0,0 @@
1
- // Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
2
- import "@hotwired/turbo-rails"
3
-
4
- import "controllers"