mysql_genius-core 0.4.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.
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "mysql_genius/core/version"
4
+
5
+ module MysqlGenius
6
+ # The Rails-free core library. Consumed by both the `mysql_genius` Rails
7
+ # adapter gem and (from Phase 2 onward) the `mysql_genius-desktop` gem.
8
+ #
9
+ # See `docs/superpowers/specs/2026-04-10-desktop-app-design.md` for the
10
+ # overall design.
11
+ module Core
12
+ class Error < StandardError; end
13
+ end
14
+ end
15
+
16
+ require "mysql_genius/core/result"
17
+ require "mysql_genius/core/server_info"
18
+ require "mysql_genius/core/column_definition"
19
+ require "mysql_genius/core/index_definition"
20
+ require "mysql_genius/core/sql_validator"
21
+ require "mysql_genius/core/connection"
22
+ require "mysql_genius/core/connection/fake_adapter"
23
+ require "mysql_genius/core/ai/config"
24
+ require "mysql_genius/core/ai/client"
25
+ require "mysql_genius/core/ai/suggestion"
26
+ require "mysql_genius/core/ai/optimization"
27
+ require "mysql_genius/core/analysis/table_sizes"
28
+ require "mysql_genius/core/analysis/duplicate_indexes"
29
+ require "mysql_genius/core/analysis/query_stats"
30
+ require "mysql_genius/core/analysis/unused_indexes"
31
+ require "mysql_genius/core/analysis/server_overview"
32
+ require "mysql_genius/core/execution_result"
33
+ require "mysql_genius/core/query_runner/config"
34
+ require "mysql_genius/core/query_runner"
35
+ require "mysql_genius/core/query_explainer"
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require "mysql_genius/core/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "mysql_genius-core"
9
+ spec.version = MysqlGenius::Core::VERSION
10
+ spec.authors = ["Antarr Byrd"]
11
+ spec.email = ["antarr.t.byrd@uth.tmc.edu"]
12
+
13
+ spec.summary = "Rails-free core library for MysqlGenius — validators, analyses, AI services."
14
+ spec.description = "Shared library used by the mysql_genius Rails engine and the mysql_genius-desktop " \
15
+ "standalone app. Contains the SQL validator, query runner, database analyses, and AI services, all of " \
16
+ "which take an explicit connection abstraction (no globals, no ActiveRecord dependency)."
17
+ spec.homepage = "https://github.com/antarr/mysql_genius"
18
+ spec.license = "MIT"
19
+
20
+ spec.required_ruby_version = ">= 2.7.0"
21
+
22
+ spec.metadata["homepage_uri"] = spec.homepage
23
+ spec.metadata["source_code_uri"] = spec.homepage
24
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/gems/mysql_genius-core/CHANGELOG.md"
25
+
26
+ spec.files = Dir.chdir(__dir__) do
27
+ Dir.glob("lib/**/*.rb") + ["mysql_genius-core.gemspec", "CHANGELOG.md", "README.md"].select { |f| File.exist?(File.join(__dir__, f)) }
28
+ end
29
+ spec.require_paths = ["lib"]
30
+
31
+ # No runtime dependencies — core is intentionally stdlib-only.
32
+ # (trilogy is a Phase 2 addition for the desktop adapter; the Rails adapter
33
+ # brings its own ActiveRecord connection.)
34
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mysql_genius-core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ platform: ruby
6
+ authors:
7
+ - Antarr Byrd
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-04-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Shared library used by the mysql_genius Rails engine and the mysql_genius-desktop
14
+ standalone app. Contains the SQL validator, query runner, database analyses, and
15
+ AI services, all of which take an explicit connection abstraction (no globals, no
16
+ ActiveRecord dependency).
17
+ email:
18
+ - antarr.t.byrd@uth.tmc.edu
19
+ executables: []
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - CHANGELOG.md
24
+ - lib/mysql_genius/core.rb
25
+ - lib/mysql_genius/core/ai/client.rb
26
+ - lib/mysql_genius/core/ai/config.rb
27
+ - lib/mysql_genius/core/ai/optimization.rb
28
+ - lib/mysql_genius/core/ai/suggestion.rb
29
+ - lib/mysql_genius/core/analysis/duplicate_indexes.rb
30
+ - lib/mysql_genius/core/analysis/query_stats.rb
31
+ - lib/mysql_genius/core/analysis/server_overview.rb
32
+ - lib/mysql_genius/core/analysis/table_sizes.rb
33
+ - lib/mysql_genius/core/analysis/unused_indexes.rb
34
+ - lib/mysql_genius/core/column_definition.rb
35
+ - lib/mysql_genius/core/connection.rb
36
+ - lib/mysql_genius/core/connection/fake_adapter.rb
37
+ - lib/mysql_genius/core/execution_result.rb
38
+ - lib/mysql_genius/core/index_definition.rb
39
+ - lib/mysql_genius/core/query_explainer.rb
40
+ - lib/mysql_genius/core/query_runner.rb
41
+ - lib/mysql_genius/core/query_runner/config.rb
42
+ - lib/mysql_genius/core/result.rb
43
+ - lib/mysql_genius/core/server_info.rb
44
+ - lib/mysql_genius/core/sql_validator.rb
45
+ - lib/mysql_genius/core/version.rb
46
+ - mysql_genius-core.gemspec
47
+ homepage: https://github.com/antarr/mysql_genius
48
+ licenses:
49
+ - MIT
50
+ metadata:
51
+ homepage_uri: https://github.com/antarr/mysql_genius
52
+ source_code_uri: https://github.com/antarr/mysql_genius
53
+ changelog_uri: https://github.com/antarr/mysql_genius/blob/main/gems/mysql_genius-core/CHANGELOG.md
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.7.0
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubygems_version: 3.5.22
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: Rails-free core library for MysqlGenius — validators, analyses, AI services.
73
+ test_files: []