alchemy-mission_control-jobs 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 1be53f63f96a2a452299cb6d971ef14881ab59d884e3acdb96beaf695cc5ccf3
4
+ data.tar.gz: d672bd80a419a3ddca7737d41613baeca488a021e988b9e940ec0cb96d89dbd2
5
+ SHA512:
6
+ metadata.gz: 0d26cf771713ba9fa5177f20328f305b79d743971695e7c636c4479714896016802f0b2b5910eb7cc68cdfc3dbb683ba40c94c4571e820f765f31bdb06afa074
7
+ data.tar.gz: 0317da6d6c71b43e895120d9ec9abc2a7f71fd85c80c3d12fd6ac25acf61d3017e64a2cdfa814248e382640ea1215fe74acce5ceaff84fd34af41c2c7cf3850b
data/LICENSE ADDED
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2025, sitediver
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # alchemy-mission-control-jobs
2
+ A simple integration of Mission Control — Jobs into AlchemyCMS
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "bundler/setup"
2
+
3
+ require "bundler/gem_tasks"
4
+
5
+ require "rspec/core"
6
+ require "rspec/core/rake_task"
7
+
8
+ RSpec::Core::RakeTask.new(:spec)
9
+
10
+ Bundler::GemHelper.install_tasks
11
+
12
+ namespace :spec do
13
+ desc "Prepares database for testing"
14
+ task :db_prepare do
15
+ system "cd spec/dummy; RAILS_ENV=test bin/rake db:setup db:seed; cd -"
16
+ end
17
+ end
@@ -0,0 +1,6 @@
1
+ .mission-control-jobs > iframe {
2
+ --header-height: 75px;
3
+ border: 0;
4
+ height: calc(100vh - (var(--header-height) + var(--spacing-2) * 2));
5
+ width: 100%;
6
+ }
@@ -0,0 +1,3 @@
1
+ :root {
2
+ --bulma-scheme-main: var(--color-grey_light);
3
+ }
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alchemy
4
+ module Admin
5
+ class JobsController < Alchemy::Admin::BaseController
6
+ authorize_resource class: :admin_jobs
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ <div class="mission-control-jobs">
2
+ <iframe src="/admin/mission_control_jobs"></iframe>
3
+ </div>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Mission control - <%= page_title %></title>
5
+ <%= csrf_meta_tags %>
6
+ <%= csp_meta_tag %>
7
+
8
+ <meta name="viewport" content="width=device-width,initial-scale=1">
9
+ <meta name="turbo-cache-control" content="no-cache">
10
+
11
+ <%= stylesheet_link_tag "mission_control/jobs/bulma.min" %>
12
+ <%= stylesheet_link_tag "mission_control/jobs/application", "data-turbo-track": "reload" %>
13
+ <%= stylesheet_link_tag "alchemy/mission_control/jobs/mission-control", "data-turbo-track": "reload" %>
14
+ <%= javascript_importmap_tags "application", importmap: MissionControl::Jobs.importmap %>
15
+ </head>
16
+ <body>
17
+
18
+ <main>
19
+ <%= render "layouts/mission_control/jobs/application_selection" %>
20
+ <%= render "layouts/mission_control/jobs/flash" %>
21
+ <%= render "layouts/mission_control/jobs/navigation" %>
22
+ <%= yield %>
23
+ </main>
24
+
25
+ </body>
26
+ </html>
@@ -0,0 +1,18 @@
1
+ Rails.application.config.to_prepare do
2
+ require "alchemy/mission_control/jobs/ability"
3
+
4
+ Alchemy.register_ability(Alchemy::MissionControl::Jobs::Ability)
5
+ Alchemy.admin_stylesheets << "alchemy/mission_control/jobs/alchemy-admin.css"
6
+
7
+ Alchemy::Modules.register_module({
8
+ name: "jobs",
9
+ engine_name: "alchemy",
10
+ position: 7.1,
11
+ navigation: {
12
+ name: "modules.jobs",
13
+ controller: "/alchemy/admin/jobs",
14
+ action: "index",
15
+ icon: "stack"
16
+ }
17
+ })
18
+ end
@@ -0,0 +1,4 @@
1
+ Rails.application.config.to_prepare do
2
+ MissionControl::Jobs.base_controller_class = "Alchemy::Admin::JobsController"
3
+ MissionControl::Jobs.http_basic_auth_enabled = false
4
+ end
@@ -0,0 +1,4 @@
1
+ en:
2
+ alchemy:
3
+ modules:
4
+ jobs: Jobs
data/config/routes.rb ADDED
@@ -0,0 +1,6 @@
1
+ Alchemy::Engine.routes.draw do
2
+ namespace :admin, path: Alchemy.admin_path, constraints: Alchemy.admin_constraints do
3
+ resources :jobs, only: [:index]
4
+ mount MissionControl::Jobs::Engine, at: "/mission_control_jobs"
5
+ end
6
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alchemy
4
+ module MissionControl
5
+ module Jobs
6
+ class Ability
7
+ include CanCan::Ability
8
+
9
+ def initialize(user)
10
+ @user = user
11
+
12
+ if admin?
13
+ can :index, :alchemy_admin_jobs
14
+ can :manage, :admin_jobs
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def admin?
21
+ @user.try(:has_role?, :admin)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ module Alchemy
2
+ module MissionControl
3
+ module Jobs
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace Alchemy
6
+ engine_name "alchemy_mission_control-jobs"
7
+
8
+ initializer "alchemy_mission_control-jobs.assets" do |app|
9
+ app.config.assets.precompile += [
10
+ "alchemy/mission_control/jobs/alchemy-admin.css",
11
+ "alchemy/mission_control/jobs/mission-control.css"
12
+ ]
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ module Alchemy
2
+ module MissionControl
3
+ module Jobs
4
+ VERSION = "0.1.0"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ require "alchemy/mission_control/jobs/version"
2
+ require "alchemy/mission_control/jobs/engine"
3
+
4
+ module Alchemy
5
+ module MissionControl
6
+ module Jobs
7
+ # Your code goes here...
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :alchemy_mission_control_jobs do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,192 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: alchemy-mission_control-jobs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Sascha Karnatz
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2025-03-09 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '7.2'
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 7.2.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '7.2'
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 7.2.2
32
+ - !ruby/object:Gem::Dependency
33
+ name: alchemy_cms
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '7.4'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 7.4.0
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '7.4'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 7.4.0
52
+ - !ruby/object:Gem::Dependency
53
+ name: mission_control-jobs
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: '1.0'
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.0.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: 1.0.1
72
+ - !ruby/object:Gem::Dependency
73
+ name: capybara
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '3.0'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '3.0'
86
+ - !ruby/object:Gem::Dependency
87
+ name: factory_bot_rails
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '6.0'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '6.0'
100
+ - !ruby/object:Gem::Dependency
101
+ name: puma
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '6.0'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '6.0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: rspec-rails
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '7.1'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '7.1'
128
+ - !ruby/object:Gem::Dependency
129
+ name: selenium-webdriver
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '4.29'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '4.29'
142
+ description: An integration of Mission Control jobs into AlchemyCMS that allows to
143
+ administrate of SolidQueue or Rescue.
144
+ email:
145
+ - 68833+kulturbande@users.noreply.github.com
146
+ executables: []
147
+ extensions: []
148
+ extra_rdoc_files: []
149
+ files:
150
+ - LICENSE
151
+ - README.md
152
+ - Rakefile
153
+ - app/assets/stylesheets/alchemy/mission_control/jobs/alchemy-admin.css
154
+ - app/assets/stylesheets/alchemy/mission_control/jobs/mission-control.css
155
+ - app/controllers/alchemy/admin/jobs_controller.rb
156
+ - app/views/alchemy/admin/jobs/index.html.erb
157
+ - app/views/layouts/mission_control/jobs/application.html.erb
158
+ - config/initializers/alchemy.rb
159
+ - config/initializers/mission_control-jobs.rb
160
+ - config/locales/alchemy.en.yml
161
+ - config/routes.rb
162
+ - lib/alchemy/mission_control/jobs.rb
163
+ - lib/alchemy/mission_control/jobs/ability.rb
164
+ - lib/alchemy/mission_control/jobs/engine.rb
165
+ - lib/alchemy/mission_control/jobs/version.rb
166
+ - lib/tasks/alchemy/mission_control/jobs_tasks.rake
167
+ homepage: https://sitediver.com
168
+ licenses:
169
+ - BSD-3-Clause
170
+ metadata:
171
+ allowed_push_host: https://rubygems.org
172
+ homepage_uri: https://sitediver.com
173
+ source_code_uri: https://github.com/sitediver/alchemy-mission_control-jobs
174
+ changelog_uri: https://github.com/sitediver/alchemy-mission_control-jobs/CHANGELOG.md
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 3.3.0
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ requirements: []
189
+ rubygems_version: 3.6.5
190
+ specification_version: 4
191
+ summary: A simple integration of Mission Control — Jobs into AlchemyCMS
192
+ test_files: []