maquina 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +8 -0
- data/app/assets/images/maquina/maquina.svg +18 -0
- data/app/assets/javascripts/maquina/application.js +4 -0
- data/app/assets/javascripts/maquina/controllers/alert_controller.js +29 -0
- data/app/assets/javascripts/maquina/controllers/application.js +9 -0
- data/app/assets/javascripts/maquina/controllers/file_controller.js +60 -0
- data/app/assets/javascripts/maquina/controllers/index.js +11 -0
- data/app/assets/javascripts/maquina/controllers/mobile_menu_controller.js +31 -0
- data/app/assets/javascripts/maquina/controllers/modal_controller.js +39 -0
- data/app/assets/javascripts/maquina/controllers/modal_open_controller.js +15 -0
- data/app/assets/javascripts/maquina/controllers/popup_menu_controller.js +17 -0
- data/app/assets/javascripts/maquina/controllers/submit_form_controller.js +11 -0
- data/app/assets/stylesheets/maquina/application.css +15 -0
- data/app/assets/stylesheets/maquina/application.tailwind.css +102 -0
- data/app/controllers/concerns/maquina/authenticate.rb +41 -0
- data/app/controllers/concerns/maquina/create.rb +27 -0
- data/app/controllers/concerns/maquina/destroy.rb +28 -0
- data/app/controllers/concerns/maquina/edit.rb +29 -0
- data/app/controllers/concerns/maquina/index.rb +33 -0
- data/app/controllers/concerns/maquina/new.rb +22 -0
- data/app/controllers/concerns/maquina/resourceful.rb +180 -0
- data/app/controllers/concerns/maquina/show.rb +27 -0
- data/app/controllers/concerns/maquina/update.rb +31 -0
- data/app/controllers/maquina/accept_invitations_controller.rb +28 -0
- data/app/controllers/maquina/application_controller.rb +19 -0
- data/app/controllers/maquina/dashboard_controller.rb +16 -0
- data/app/controllers/maquina/invitations_controller.rb +51 -0
- data/app/controllers/maquina/plans_controller.rb +56 -0
- data/app/controllers/maquina/sessions_controller.rb +56 -0
- data/app/controllers/maquina/unauthorized_controller.rb +9 -0
- data/app/controllers/maquina/users_controller.rb +24 -0
- data/app/helpers/maquina/application_helper.rb +19 -0
- data/app/helpers/maquina/navbar_menu_helper.rb +29 -0
- data/app/helpers/maquina/views_helper.rb +9 -0
- data/app/jobs/maquina/application_job.rb +4 -0
- data/app/mailers/maquina/application_mailer.rb +8 -0
- data/app/mailers/maquina/user_notifications_mailer.rb +16 -0
- data/app/models/concerns/maquina/authenticate_by.rb +33 -0
- data/app/models/concerns/maquina/blockeable.rb +28 -0
- data/app/models/concerns/maquina/multifactor.rb +80 -0
- data/app/models/concerns/maquina/retain_passwords.rb +32 -0
- data/app/models/concerns/maquina/searchable.rb +24 -0
- data/app/models/maquina/active_session.rb +33 -0
- data/app/models/maquina/application_record.rb +11 -0
- data/app/models/maquina/current.rb +21 -0
- data/app/models/maquina/invitation.rb +15 -0
- data/app/models/maquina/plan.rb +38 -0
- data/app/models/maquina/used_password.rb +17 -0
- data/app/models/maquina/user.rb +33 -0
- data/app/policies/maquina/application_policy.rb +50 -0
- data/app/policies/maquina/invitation_policy.rb +13 -0
- data/app/policies/maquina/navigation_policy.rb +13 -0
- data/app/policies/maquina/plan_policy.rb +49 -0
- data/app/policies/maquina/user_policy.rb +27 -0
- data/app/views/layouts/maquina/application.html.erb +26 -0
- data/app/views/layouts/maquina/mailer.html.erb +377 -0
- data/app/views/layouts/maquina/mailer.text.erb +12 -0
- data/app/views/layouts/maquina/sessions.html.erb +24 -0
- data/app/views/maquina/accept_invitations/new.html.erb +9 -0
- data/app/views/maquina/accept_invitations/new_view.rb +41 -0
- data/app/views/maquina/application/_navbar.html.erb +21 -0
- data/app/views/maquina/application/alert.rb +104 -0
- data/app/views/maquina/application/components/action_text_component.rb +20 -0
- data/app/views/maquina/application/components/checkbox_component.rb +21 -0
- data/app/views/maquina/application/components/component_base.rb +60 -0
- data/app/views/maquina/application/components/file_component.rb +59 -0
- data/app/views/maquina/application/components/input_component.rb +20 -0
- data/app/views/maquina/application/components/select_component.rb +44 -0
- data/app/views/maquina/application/create.turbo_stream.erb +11 -0
- data/app/views/maquina/application/edit.html.erb +9 -0
- data/app/views/maquina/application/edit.rb +17 -0
- data/app/views/maquina/application/form.rb +77 -0
- data/app/views/maquina/application/index.html.erb +10 -0
- data/app/views/maquina/application/index_header.rb +46 -0
- data/app/views/maquina/application/index_modal.rb +43 -0
- data/app/views/maquina/application/index_table.rb +121 -0
- data/app/views/maquina/application/new.html.erb +9 -0
- data/app/views/maquina/application/new.rb +18 -0
- data/app/views/maquina/application/sessions_header.rb +31 -0
- data/app/views/maquina/application/show.html.erb +1 -0
- data/app/views/maquina/application/update.turbo_stream.erb +11 -0
- data/app/views/maquina/application_view.rb +46 -0
- data/app/views/maquina/dashboard/index.html.erb +0 -0
- data/app/views/maquina/invitations/create.turbo_stream.erb +13 -0
- data/app/views/maquina/invitations/new.html.erb +3 -0
- data/app/views/maquina/navbar/menu.rb +62 -0
- data/app/views/maquina/navbar/menu_item_link.rb +34 -0
- data/app/views/maquina/navbar/mobile_button.rb +29 -0
- data/app/views/maquina/navbar/mobile_menu.rb +47 -0
- data/app/views/maquina/navbar/notification.rb +37 -0
- data/app/views/maquina/navbar/profile.rb +16 -0
- data/app/views/maquina/navbar/profile_button.rb +24 -0
- data/app/views/maquina/navbar/profile_menu.rb +108 -0
- data/app/views/maquina/navbar/profile_menu_item_link.rb +41 -0
- data/app/views/maquina/navbar/search.rb +40 -0
- data/app/views/maquina/navbar/title.rb +22 -0
- data/app/views/maquina/sessions/create.turbo_stream.erb +11 -0
- data/app/views/maquina/sessions/form.rb +56 -0
- data/app/views/maquina/sessions/new.html.erb +9 -0
- data/app/views/maquina/unauthorized/401.html.erb +1 -0
- data/app/views/maquina/user_notifications_mailer/invitation_email.html.erb +40 -0
- data/app/views/maquina/user_notifications_mailer/invitation_email.text.erb +12 -0
- data/config/definitions.rb +1 -0
- data/config/initializers/importmap.rb +17 -0
- data/config/initializers/money.rb +116 -0
- data/config/initializers/pagy.rb +235 -0
- data/config/locales/flash.en.yml +44 -0
- data/config/locales/forms.en.yml +58 -0
- data/config/locales/mailers.en.yml +35 -0
- data/config/locales/models.en.yml +34 -0
- data/config/locales/routes.en.yml +7 -0
- data/config/locales/views.en.yml +45 -0
- data/config/routes.rb +17 -0
- data/db/migrate/20221109010726_create_maquina_plans.rb +13 -0
- data/db/migrate/20221113000409_create_maquina_users.rb +19 -0
- data/db/migrate/20221113020108_create_maquina_used_passwords.rb +10 -0
- data/db/migrate/20221115223414_create_maquina_active_sessions.rb +15 -0
- data/db/migrate/20230201203922_create_maquina_invitations.rb +12 -0
- data/db/schema.rb +1 -0
- data/lib/generators/maquina/install_generator.rb +32 -0
- data/lib/generators/maquina/install_templates/install_templates_generator.rb +31 -0
- data/lib/generators/maquina/tailwind_config/tailwind_config_generator.rb +11 -0
- data/lib/generators/maquina/tailwind_config/templates/app/assets/config/maquina/tailwind.config.js.tt +68 -0
- data/lib/generators/maquina/templates/config/initializers/maquina.rb +3 -0
- data/lib/maquina/engine.rb +17 -0
- data/lib/maquina/version.rb +3 -0
- data/lib/maquina.rb +48 -0
- data/lib/tasks/install.rake +19 -0
- data/lib/tasks/maquina_tasks.rake +4 -0
- data/lib/tasks/tailwind.rake +25 -0
- metadata +456 -0
@@ -0,0 +1,68 @@
|
|
1
|
+
const defaultTheme = require('tailwindcss/defaultTheme')
|
2
|
+
|
3
|
+
module.exports = {
|
4
|
+
content: [
|
5
|
+
<%= Maquina.configuration.tailwind_content.map{|path| "'#{path}'"}.join(",\n") %>
|
6
|
+
],
|
7
|
+
theme: {
|
8
|
+
extend: {
|
9
|
+
fontFamily: {
|
10
|
+
sans: ['Inter var', ...defaultTheme.fontFamily.sans],
|
11
|
+
},
|
12
|
+
textColor: {
|
13
|
+
skin: {
|
14
|
+
inverted: 'rgb(var(--color-inverted) / <alpha-value>)',
|
15
|
+
accented: 'rgb(var(--color-accented) / <alpha-value>)',
|
16
|
+
'accented-hover': 'rgb(var(--color-accented-hover) / <alpha-value>)',
|
17
|
+
base: 'rgb(var(--color-base) / <alpha-value>)',
|
18
|
+
muted: 'rgb(var(--color-muted) / <alpha-value>)',
|
19
|
+
dimmed: 'rgb(var(--color-dimmed) / <alpha-value>)',
|
20
|
+
error: 'rgb(var(--color-error) / <alpha-value>)',
|
21
|
+
}
|
22
|
+
},
|
23
|
+
textDecorationColor: {
|
24
|
+
skin: {
|
25
|
+
accented: 'rgb(var(--color-accented) / <alpha-value>)',
|
26
|
+
}
|
27
|
+
},
|
28
|
+
backgroundColor: {
|
29
|
+
skin: {
|
30
|
+
'button-accented': 'rgb(var(--color-accented) / <alpha-value>)',
|
31
|
+
'button-accented-hover': 'rgb(var(--color-accented-hover) / <alpha-value>)',
|
32
|
+
'button-inverted': 'rgb(var(--color-inverted) / <alpha-value>)',
|
33
|
+
'button-inverted-hover': 'rgb(var(--color-inverted-hover) / <alpha-value>)',
|
34
|
+
'button-caution': 'rgb(var(--color-error) / <alpha-value>)',
|
35
|
+
'button-caution-hover': 'rgb(var(--color-error-hover) / <alpha-value>)',
|
36
|
+
muted: 'rgb(var(--color-muted) / <alpha-value>)',
|
37
|
+
dimmed: 'rgb(var(--color-dimmed) / <alpha-value>)',
|
38
|
+
accented: 'rgb(var(--color-accented) / <alpha-value>)',
|
39
|
+
'accented-hover': 'rgb(var(--color-accented-hover) / <alpha-value>)',
|
40
|
+
}
|
41
|
+
},
|
42
|
+
ringColor: {
|
43
|
+
skin: {
|
44
|
+
accented: 'rgb(var(--color-border-accented) / <alpha-value>)',
|
45
|
+
inverted: 'rgb(var(--color-inverted) / <alpha-value>)',
|
46
|
+
error: 'rgb(var(--color-error) / <alpha-value>)',
|
47
|
+
}
|
48
|
+
},
|
49
|
+
borderColor: {
|
50
|
+
skin: {
|
51
|
+
base: 'rgb(var(--color-border-base) / <alpha-value>)',
|
52
|
+
error: 'rgb(var(--color-error) / <alpha-value>)',
|
53
|
+
accented: 'rgb(var(--color-border-accented) / <alpha-value>)',
|
54
|
+
}
|
55
|
+
},
|
56
|
+
textDecorationColor: {
|
57
|
+
skin: {
|
58
|
+
accented: 'rgb(var(--color-border-accented) / <alpha-value>)'
|
59
|
+
}
|
60
|
+
}
|
61
|
+
},
|
62
|
+
},
|
63
|
+
plugins: [
|
64
|
+
require('@tailwindcss/forms'),
|
65
|
+
require('@tailwindcss/aspect-ratio'),
|
66
|
+
require('@tailwindcss/typography')
|
67
|
+
],
|
68
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "importmap-rails"
|
4
|
+
require "turbo-rails"
|
5
|
+
require "stimulus-rails"
|
6
|
+
require "phlex-rails"
|
7
|
+
|
8
|
+
module Maquina
|
9
|
+
class Engine < ::Rails::Engine
|
10
|
+
config.autoload_paths += %W[#{Engine.root}/app/views]
|
11
|
+
isolate_namespace Maquina
|
12
|
+
|
13
|
+
initializer "maquina.importmap", before: "importmap" do |app|
|
14
|
+
app.config.importmap.paths << Engine.root.join("config/initializers/importmap.rb")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/maquina.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "maquina/version"
|
4
|
+
require_relative "maquina/engine"
|
5
|
+
require "importmap-rails"
|
6
|
+
require "money-rails"
|
7
|
+
require "turbo-rails"
|
8
|
+
require "action_policy"
|
9
|
+
require "pagy"
|
10
|
+
|
11
|
+
module Maquina
|
12
|
+
class << self
|
13
|
+
attr_accessor :configuration
|
14
|
+
end
|
15
|
+
|
16
|
+
class Configuration
|
17
|
+
attr_accessor :password_retain_count, :temporary_block, :session_expiration, :signin_attempts, :tailwind_content,
|
18
|
+
:importmap, :root_app_path
|
19
|
+
|
20
|
+
def initialize
|
21
|
+
@password_retain_count = 3
|
22
|
+
@temporary_block = 5.minutes
|
23
|
+
@session_expiration = 2.days
|
24
|
+
@signin_attempts = 5
|
25
|
+
@importmap = Importmap::Map.new
|
26
|
+
@root_app_path = nil
|
27
|
+
|
28
|
+
@tailwind_content = [
|
29
|
+
"#{Maquina::Engine.root}/app/views/**/*.{rb,erb}",
|
30
|
+
"#{Maquina::Engine.root}/app/helpers/**/*.rb",
|
31
|
+
"#{Maquina::Engine.root}/app/controllers/**/*.rb",
|
32
|
+
"#{Maquina::Engine.root}/app/javascript/**/*.js",
|
33
|
+
"#{Maquina::Engine.root}/app/assets/**/application.tailwind.css"
|
34
|
+
]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.init_config
|
39
|
+
self.configuration ||= Configuration.new
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.configure
|
43
|
+
init_config
|
44
|
+
yield(configuration)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
Maquina.init_config
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
namespace :maquina do
|
4
|
+
desc "Install Maquina"
|
5
|
+
task install: :environment do
|
6
|
+
ActiveRecord::Base.connection
|
7
|
+
rescue ActiveRecord::NoDatabaseError
|
8
|
+
puts "ERROR: database does not exist, run 'rails db:create' first"
|
9
|
+
else
|
10
|
+
Rails::Command.invoke :generate, ["maquina:install"]
|
11
|
+
end
|
12
|
+
|
13
|
+
namespace :install do
|
14
|
+
desc "Copy templates from maquina to application"
|
15
|
+
task copy_templates: :environment do
|
16
|
+
Rails::Command.invoke :generate, ["maquina:install_templates"]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "tailwindcss-rails"
|
4
|
+
|
5
|
+
TAILWIND_COMPILE_COMMAND = "#{Tailwindcss::Engine.root.join("exe/tailwindcss")} -i #{Maquina::Engine.root.join("app/assets/stylesheets/maquina/application.tailwind.css")} -o #{Rails.root.join("app/assets/builds", "maquina/tailwind.css")} -c #{Rails.root.join("app/assets/config/maquina/tailwind.config.js")}"
|
6
|
+
|
7
|
+
namespace :maquina do
|
8
|
+
namespace :tailwindcss do
|
9
|
+
desc "Build your Tailwind CSS"
|
10
|
+
task :build do
|
11
|
+
Rails::Generators.invoke("maquina:tailwind_config", ["--force"])
|
12
|
+
system TAILWIND_COMPILE_COMMAND
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Watch and build your Tailwind CSS"
|
16
|
+
task :watch do
|
17
|
+
Rails::Generators.invoke("maquina:tailwind_config", ["--force"])
|
18
|
+
system "#{TAILWIND_COMPILE_COMMAND} -w"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
if Rake::Task.task_defined?("assets:precompile")
|
24
|
+
Rake::Task["assets:precompile"].enhance(["maquina:tailwindcss:build"])
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,456 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: maquina
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mario Alberto Chávez
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-08-08 00:00:00.000000000 Z
|
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.4
|
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.4
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bcrypt
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.1.7
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.1.7
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: money-rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.15.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
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: 1.3.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.3.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.2.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.2.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: 1.1.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.1.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: tailwindcss-rails
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.0.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.0.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pg_search
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.3.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.3.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: phlex-rails
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.0.0
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.0.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: action_policy
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 0.6.3
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 0.6.3
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rotp
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '6.2'
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 6.2.1
|
163
|
+
type: :runtime
|
164
|
+
prerelease: false
|
165
|
+
version_requirements: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - "~>"
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '6.2'
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 6.2.1
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: pagy
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '5.10'
|
180
|
+
- - ">="
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: 5.10.1
|
183
|
+
type: :runtime
|
184
|
+
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - "~>"
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '5.10'
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: 5.10.1
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: standard
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: standard-rails
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0'
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
name: solargraph
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - ">="
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
228
|
+
type: :development
|
229
|
+
prerelease: false
|
230
|
+
version_requirements: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - ">="
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0'
|
235
|
+
- !ruby/object:Gem::Dependency
|
236
|
+
name: solargraph-rails
|
237
|
+
requirement: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - ">="
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0'
|
242
|
+
type: :development
|
243
|
+
prerelease: false
|
244
|
+
version_requirements: !ruby/object:Gem::Requirement
|
245
|
+
requirements:
|
246
|
+
- - ">="
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '0'
|
249
|
+
- !ruby/object:Gem::Dependency
|
250
|
+
name: brakeman
|
251
|
+
requirement: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0'
|
256
|
+
type: :development
|
257
|
+
prerelease: false
|
258
|
+
version_requirements: !ruby/object:Gem::Requirement
|
259
|
+
requirements:
|
260
|
+
- - ">="
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '0'
|
263
|
+
- !ruby/object:Gem::Dependency
|
264
|
+
name: ruby-lsp
|
265
|
+
requirement: !ruby/object:Gem::Requirement
|
266
|
+
requirements:
|
267
|
+
- - ">="
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
type: :development
|
271
|
+
prerelease: false
|
272
|
+
version_requirements: !ruby/object:Gem::Requirement
|
273
|
+
requirements:
|
274
|
+
- - ">="
|
275
|
+
- !ruby/object:Gem::Version
|
276
|
+
version: '0'
|
277
|
+
- !ruby/object:Gem::Dependency
|
278
|
+
name: bundle-audit
|
279
|
+
requirement: !ruby/object:Gem::Requirement
|
280
|
+
requirements:
|
281
|
+
- - ">="
|
282
|
+
- !ruby/object:Gem::Version
|
283
|
+
version: '0'
|
284
|
+
type: :development
|
285
|
+
prerelease: false
|
286
|
+
version_requirements: !ruby/object:Gem::Requirement
|
287
|
+
requirements:
|
288
|
+
- - ">="
|
289
|
+
- !ruby/object:Gem::Version
|
290
|
+
version: '0'
|
291
|
+
description: Build Rails applications focusing on your business problem not the code.
|
292
|
+
email:
|
293
|
+
- mario.chavez@gmail.com
|
294
|
+
executables: []
|
295
|
+
extensions: []
|
296
|
+
extra_rdoc_files: []
|
297
|
+
files:
|
298
|
+
- MIT-LICENSE
|
299
|
+
- README.md
|
300
|
+
- Rakefile
|
301
|
+
- app/assets/images/maquina/maquina.svg
|
302
|
+
- app/assets/javascripts/maquina/application.js
|
303
|
+
- app/assets/javascripts/maquina/controllers/alert_controller.js
|
304
|
+
- app/assets/javascripts/maquina/controllers/application.js
|
305
|
+
- app/assets/javascripts/maquina/controllers/file_controller.js
|
306
|
+
- app/assets/javascripts/maquina/controllers/index.js
|
307
|
+
- app/assets/javascripts/maquina/controllers/mobile_menu_controller.js
|
308
|
+
- app/assets/javascripts/maquina/controllers/modal_controller.js
|
309
|
+
- app/assets/javascripts/maquina/controllers/modal_open_controller.js
|
310
|
+
- app/assets/javascripts/maquina/controllers/popup_menu_controller.js
|
311
|
+
- app/assets/javascripts/maquina/controllers/submit_form_controller.js
|
312
|
+
- app/assets/stylesheets/maquina/application.css
|
313
|
+
- app/assets/stylesheets/maquina/application.tailwind.css
|
314
|
+
- app/controllers/concerns/maquina/authenticate.rb
|
315
|
+
- app/controllers/concerns/maquina/create.rb
|
316
|
+
- app/controllers/concerns/maquina/destroy.rb
|
317
|
+
- app/controllers/concerns/maquina/edit.rb
|
318
|
+
- app/controllers/concerns/maquina/index.rb
|
319
|
+
- app/controllers/concerns/maquina/new.rb
|
320
|
+
- app/controllers/concerns/maquina/resourceful.rb
|
321
|
+
- app/controllers/concerns/maquina/show.rb
|
322
|
+
- app/controllers/concerns/maquina/update.rb
|
323
|
+
- app/controllers/maquina/accept_invitations_controller.rb
|
324
|
+
- app/controllers/maquina/application_controller.rb
|
325
|
+
- app/controllers/maquina/dashboard_controller.rb
|
326
|
+
- app/controllers/maquina/invitations_controller.rb
|
327
|
+
- app/controllers/maquina/plans_controller.rb
|
328
|
+
- app/controllers/maquina/sessions_controller.rb
|
329
|
+
- app/controllers/maquina/unauthorized_controller.rb
|
330
|
+
- app/controllers/maquina/users_controller.rb
|
331
|
+
- app/helpers/maquina/application_helper.rb
|
332
|
+
- app/helpers/maquina/navbar_menu_helper.rb
|
333
|
+
- app/helpers/maquina/views_helper.rb
|
334
|
+
- app/jobs/maquina/application_job.rb
|
335
|
+
- app/mailers/maquina/application_mailer.rb
|
336
|
+
- app/mailers/maquina/user_notifications_mailer.rb
|
337
|
+
- app/models/concerns/maquina/authenticate_by.rb
|
338
|
+
- app/models/concerns/maquina/blockeable.rb
|
339
|
+
- app/models/concerns/maquina/multifactor.rb
|
340
|
+
- app/models/concerns/maquina/retain_passwords.rb
|
341
|
+
- app/models/concerns/maquina/searchable.rb
|
342
|
+
- app/models/maquina/active_session.rb
|
343
|
+
- app/models/maquina/application_record.rb
|
344
|
+
- app/models/maquina/current.rb
|
345
|
+
- app/models/maquina/invitation.rb
|
346
|
+
- app/models/maquina/plan.rb
|
347
|
+
- app/models/maquina/used_password.rb
|
348
|
+
- app/models/maquina/user.rb
|
349
|
+
- app/policies/maquina/application_policy.rb
|
350
|
+
- app/policies/maquina/invitation_policy.rb
|
351
|
+
- app/policies/maquina/navigation_policy.rb
|
352
|
+
- app/policies/maquina/plan_policy.rb
|
353
|
+
- app/policies/maquina/user_policy.rb
|
354
|
+
- app/views/layouts/maquina/application.html.erb
|
355
|
+
- app/views/layouts/maquina/mailer.html.erb
|
356
|
+
- app/views/layouts/maquina/mailer.text.erb
|
357
|
+
- app/views/layouts/maquina/sessions.html.erb
|
358
|
+
- app/views/maquina/accept_invitations/new.html.erb
|
359
|
+
- app/views/maquina/accept_invitations/new_view.rb
|
360
|
+
- app/views/maquina/application/_navbar.html.erb
|
361
|
+
- app/views/maquina/application/alert.rb
|
362
|
+
- app/views/maquina/application/components/action_text_component.rb
|
363
|
+
- app/views/maquina/application/components/checkbox_component.rb
|
364
|
+
- app/views/maquina/application/components/component_base.rb
|
365
|
+
- app/views/maquina/application/components/file_component.rb
|
366
|
+
- app/views/maquina/application/components/input_component.rb
|
367
|
+
- app/views/maquina/application/components/select_component.rb
|
368
|
+
- app/views/maquina/application/create.turbo_stream.erb
|
369
|
+
- app/views/maquina/application/edit.html.erb
|
370
|
+
- app/views/maquina/application/edit.rb
|
371
|
+
- app/views/maquina/application/form.rb
|
372
|
+
- app/views/maquina/application/index.html.erb
|
373
|
+
- app/views/maquina/application/index_header.rb
|
374
|
+
- app/views/maquina/application/index_modal.rb
|
375
|
+
- app/views/maquina/application/index_table.rb
|
376
|
+
- app/views/maquina/application/new.html.erb
|
377
|
+
- app/views/maquina/application/new.rb
|
378
|
+
- app/views/maquina/application/sessions_header.rb
|
379
|
+
- app/views/maquina/application/show.html.erb
|
380
|
+
- app/views/maquina/application/update.turbo_stream.erb
|
381
|
+
- app/views/maquina/application_view.rb
|
382
|
+
- app/views/maquina/dashboard/index.html.erb
|
383
|
+
- app/views/maquina/invitations/create.turbo_stream.erb
|
384
|
+
- app/views/maquina/invitations/new.html.erb
|
385
|
+
- app/views/maquina/navbar/menu.rb
|
386
|
+
- app/views/maquina/navbar/menu_item_link.rb
|
387
|
+
- app/views/maquina/navbar/mobile_button.rb
|
388
|
+
- app/views/maquina/navbar/mobile_menu.rb
|
389
|
+
- app/views/maquina/navbar/notification.rb
|
390
|
+
- app/views/maquina/navbar/profile.rb
|
391
|
+
- app/views/maquina/navbar/profile_button.rb
|
392
|
+
- app/views/maquina/navbar/profile_menu.rb
|
393
|
+
- app/views/maquina/navbar/profile_menu_item_link.rb
|
394
|
+
- app/views/maquina/navbar/search.rb
|
395
|
+
- app/views/maquina/navbar/title.rb
|
396
|
+
- app/views/maquina/sessions/create.turbo_stream.erb
|
397
|
+
- app/views/maquina/sessions/form.rb
|
398
|
+
- app/views/maquina/sessions/new.html.erb
|
399
|
+
- app/views/maquina/unauthorized/401.html.erb
|
400
|
+
- app/views/maquina/user_notifications_mailer/invitation_email.html.erb
|
401
|
+
- app/views/maquina/user_notifications_mailer/invitation_email.text.erb
|
402
|
+
- config/definitions.rb
|
403
|
+
- config/initializers/importmap.rb
|
404
|
+
- config/initializers/money.rb
|
405
|
+
- config/initializers/pagy.rb
|
406
|
+
- config/locales/flash.en.yml
|
407
|
+
- config/locales/forms.en.yml
|
408
|
+
- config/locales/mailers.en.yml
|
409
|
+
- config/locales/models.en.yml
|
410
|
+
- config/locales/routes.en.yml
|
411
|
+
- config/locales/views.en.yml
|
412
|
+
- config/routes.rb
|
413
|
+
- db/migrate/20221109010726_create_maquina_plans.rb
|
414
|
+
- db/migrate/20221113000409_create_maquina_users.rb
|
415
|
+
- db/migrate/20221113020108_create_maquina_used_passwords.rb
|
416
|
+
- db/migrate/20221115223414_create_maquina_active_sessions.rb
|
417
|
+
- db/migrate/20230201203922_create_maquina_invitations.rb
|
418
|
+
- db/schema.rb
|
419
|
+
- lib/generators/maquina/install_generator.rb
|
420
|
+
- lib/generators/maquina/install_templates/install_templates_generator.rb
|
421
|
+
- lib/generators/maquina/tailwind_config/tailwind_config_generator.rb
|
422
|
+
- lib/generators/maquina/tailwind_config/templates/app/assets/config/maquina/tailwind.config.js.tt
|
423
|
+
- lib/generators/maquina/templates/config/initializers/maquina.rb
|
424
|
+
- lib/maquina.rb
|
425
|
+
- lib/maquina/engine.rb
|
426
|
+
- lib/maquina/version.rb
|
427
|
+
- lib/tasks/install.rake
|
428
|
+
- lib/tasks/maquina_tasks.rake
|
429
|
+
- lib/tasks/tailwind.rake
|
430
|
+
homepage: https://mariochavez.io
|
431
|
+
licenses:
|
432
|
+
- MIT
|
433
|
+
metadata:
|
434
|
+
homepage_uri: https://mariochavez.io
|
435
|
+
source_code_uri: https://github.com/mariochavez/maquina
|
436
|
+
changelog_uri: https://github.com/mariochavez/maquina
|
437
|
+
post_install_message:
|
438
|
+
rdoc_options: []
|
439
|
+
require_paths:
|
440
|
+
- lib
|
441
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
442
|
+
requirements:
|
443
|
+
- - ">="
|
444
|
+
- !ruby/object:Gem::Version
|
445
|
+
version: '0'
|
446
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
447
|
+
requirements:
|
448
|
+
- - ">="
|
449
|
+
- !ruby/object:Gem::Version
|
450
|
+
version: '0'
|
451
|
+
requirements: []
|
452
|
+
rubygems_version: 3.4.18
|
453
|
+
signing_key:
|
454
|
+
specification_version: 4
|
455
|
+
summary: Rails engine for building Rails applications.
|
456
|
+
test_files: []
|