maquina 0.5.2 → 0.7.2

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 (94) 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/policies/maquina/navigation_policy.rb +2 -0
  35. data/app/views/layouts/maquina/application.html.erb +2 -2
  36. data/app/views/layouts/maquina/sessions.html.erb +1 -1
  37. data/app/views/maquina/application/_navbar.html.erb +8 -3
  38. data/app/views/maquina/application/components/checkbox_component.rb +3 -3
  39. data/app/views/maquina/application/components/component_base.rb +3 -2
  40. data/app/views/maquina/application/edit.html.erb +10 -7
  41. data/app/views/maquina/application/filters.rb +118 -0
  42. data/app/views/maquina/application/index.html.erb +6 -3
  43. data/app/views/maquina/application/index_header.rb +5 -2
  44. data/app/views/maquina/application/index_table.rb +71 -6
  45. data/app/views/maquina/application/index_tools.rb +17 -0
  46. data/app/views/maquina/application/new.html.erb +10 -7
  47. data/app/views/maquina/application/search.rb +42 -0
  48. data/app/views/maquina/application/sessions_header.rb +3 -9
  49. data/app/views/maquina/dashboard/index.html.erb +4 -0
  50. data/app/views/maquina/dashboard/stats.rb +35 -0
  51. data/app/views/maquina/dashboard/tasks.rb +124 -0
  52. data/app/views/maquina/first_runs/form.rb +0 -2
  53. data/app/views/maquina/first_runs/show.html.erb +4 -1
  54. data/app/views/maquina/navbar/title.rb +4 -2
  55. data/config/importmap.rb +1 -13
  56. data/config/locales/flash.en.yml +6 -0
  57. data/config/locales/flash.es.yml +6 -0
  58. data/config/locales/forms.en.yml +33 -4
  59. data/config/locales/forms.es.yml +22 -11
  60. data/config/locales/models.en.yml +10 -0
  61. data/config/locales/models.es.yml +10 -0
  62. data/config/locales/views.en.yml +33 -5
  63. data/config/locales/views.es.yml +28 -10
  64. data/config/routes.rb +1 -0
  65. data/db/migrate/20221109010726_create_maquina_plans.rb +1 -1
  66. data/db/migrate/20221113000409_create_maquina_users.rb +1 -1
  67. data/db/migrate/20221113020108_create_maquina_used_passwords.rb +1 -1
  68. data/db/migrate/20221115223414_create_maquina_active_sessions.rb +1 -3
  69. data/db/migrate/20230201203922_create_maquina_invitations.rb +1 -1
  70. data/db/migrate/20230829183530_create_maquina_organizations.rb +1 -1
  71. data/db/migrate/20230829192656_create_maquina_memberships.rb +2 -4
  72. data/db/migrate/20241109191405_add_counter_cache_to_plans.rb +5 -0
  73. data/lib/generators/maquina/install_generator.rb +67 -1
  74. data/lib/generators/maquina/tailwind_config/templates/lib/generators/tailwind_config/templates/config/tailwind.config.js.tt +9 -5
  75. data/lib/generators/maquina/tailwind_config/templates/lib/tasks/tailwind.rake.tt +2 -0
  76. data/lib/generators/maquina/templates/config/initializers/maquina.rb.tt +2 -1
  77. data/lib/maquina/engine.rb +6 -3
  78. data/lib/maquina/version.rb +1 -1
  79. data/lib/maquina.rb +2 -9
  80. metadata +20 -76
  81. data/app/assets/javascripts/maquina/application.js +0 -4
  82. data/app/assets/javascripts/maquina/controllers/alert_controller.js +0 -29
  83. data/app/assets/javascripts/maquina/controllers/application.js +0 -9
  84. data/app/assets/javascripts/maquina/controllers/index.js +0 -11
  85. data/app/models/concerns/maquina/authenticate_by.rb +0 -33
  86. data/app/views/maquina/navbar/search.rb +0 -40
  87. data/lib/generators/maquina/install_templates/install_templates_generator.rb +0 -31
  88. /data/app/assets/javascripts/{maquina/controllers → controllers}/backdrop_controller.js +0 -0
  89. /data/app/assets/javascripts/{maquina/controllers → controllers}/file_controller.js +0 -0
  90. /data/app/assets/javascripts/{maquina/controllers → controllers}/mobile_menu_controller.js +0 -0
  91. /data/app/assets/javascripts/{maquina/controllers → controllers}/modal_controller.js +0 -0
  92. /data/app/assets/javascripts/{maquina/controllers → controllers}/modal_open_controller.js +0 -0
  93. /data/app/assets/javascripts/{maquina/controllers → controllers}/popup_menu_controller.js +0 -0
  94. /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.2"
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.2
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-29 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"