ratatui_ruby-framework 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 +7 -0
- data/.builds/ruby-3.2.yml +51 -0
- data/.builds/ruby-3.3.yml +51 -0
- data/.builds/ruby-3.4.yml +51 -0
- data/.builds/ruby-4.0.0.yml +51 -0
- data/.pre-commit-config.yaml +16 -0
- data/.rubocop.yml +8 -0
- data/AGENTS.md +56 -0
- data/CHANGELOG.md +18 -0
- data/LICENSE +304 -0
- data/LICENSES/AGPL-3.0-or-later.txt +235 -0
- data/LICENSES/CC-BY-SA-4.0.txt +170 -0
- data/LICENSES/CC0-1.0.txt +121 -0
- data/LICENSES/LGPL-3.0-or-later.txt +304 -0
- data/LICENSES/MIT-0.txt +16 -0
- data/LICENSES/MIT.txt +18 -0
- data/README.md +124 -0
- data/REUSE.toml +24 -0
- data/Rakefile +16 -0
- data/doc/concepts/application_architecture.md +16 -0
- data/doc/concepts/application_testing.md +49 -0
- data/doc/custom.css +22 -0
- data/doc/getting_started/quickstart.md +56 -0
- data/doc/images/.gitkeep +0 -0
- data/doc/index.md +25 -0
- data/exe/.gitkeep +0 -0
- data/lib/ratatui_ruby/framework/version.rb +14 -0
- data/lib/ratatui_ruby/framework.rb +21 -0
- data/mise.toml +7 -0
- data/tasks/example_viewer.html.erb +172 -0
- data/tasks/resources/build.yml.erb +60 -0
- data/tasks/resources/index.html.erb +44 -0
- data/tasks/resources/rubies.yml +7 -0
- data/vendor/goodcop/base.yml +1047 -0
- metadata +129 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 7ba505c921e29e43a88f764902638c51734b23588f45862f3e817a85b571240e
|
|
4
|
+
data.tar.gz: 9df362203c90848fee20de85dddb3bd34f8e051bb527fb9994c343f873fbe0b0
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: be78c879dcf1b86fce3655090f080233bd097847f46dbed2ab85be1d161cdb9e20ad31732b4b5fc0e740609d568673e29ae9ee578d1de56c6d882c76ace4a7c8
|
|
7
|
+
data.tar.gz: 600c855012dc5592e76d75a52db0b736d1c337a146c062c022b38888aff6b3684e91dee1c1b5e760f7f8249c2c0ad5ed3960a40db577a9d4da12cb8a8a556541
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
2
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
|
|
4
|
+
image: archlinux
|
|
5
|
+
packages:
|
|
6
|
+
- bash
|
|
7
|
+
- base-devel
|
|
8
|
+
- curl
|
|
9
|
+
- openssl
|
|
10
|
+
- libyaml
|
|
11
|
+
- zlib
|
|
12
|
+
- readline
|
|
13
|
+
- gdbm
|
|
14
|
+
- ncurses
|
|
15
|
+
- libffi
|
|
16
|
+
- git
|
|
17
|
+
artifacts:
|
|
18
|
+
- ratatui_ruby-framework/pkg/ratatui_ruby-framework-0.1.0.gem
|
|
19
|
+
sources:
|
|
20
|
+
- https://git.sr.ht/~kerrick/ratatui_ruby-framework
|
|
21
|
+
tasks:
|
|
22
|
+
- setup: |
|
|
23
|
+
curl https://mise.jdx.dev/install.sh | sh
|
|
24
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.buildenv
|
|
25
|
+
echo 'eval "$($HOME/.local/bin/mise activate bash)"' >> ~/.buildenv
|
|
26
|
+
echo 'export LANG="en_US.UTF-8"' >> ~/.buildenv
|
|
27
|
+
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.buildenv
|
|
28
|
+
. ~/.buildenv
|
|
29
|
+
export CI="true"
|
|
30
|
+
cd ratatui_ruby-framework
|
|
31
|
+
sed -i 's/ruby = .*/ruby = "3.2"/' mise.toml
|
|
32
|
+
mise install
|
|
33
|
+
mise x -- pip install reuse
|
|
34
|
+
mise x -- gem install bundler:4.0.3
|
|
35
|
+
mise reshim
|
|
36
|
+
mise x -- bundle config set --local frozen 'true'
|
|
37
|
+
mise x -- bundle install
|
|
38
|
+
- test: |
|
|
39
|
+
. ~/.buildenv
|
|
40
|
+
cd ratatui_ruby-framework
|
|
41
|
+
echo "Testing Ruby 3.2"
|
|
42
|
+
mise x -- bundle exec rake test
|
|
43
|
+
- lint: |
|
|
44
|
+
. ~/.buildenv
|
|
45
|
+
cd ratatui_ruby-framework
|
|
46
|
+
echo "Linting Ruby 3.2"
|
|
47
|
+
mise x -- bundle exec rake lint
|
|
48
|
+
- package: |
|
|
49
|
+
. ~/.buildenv
|
|
50
|
+
cd ratatui_ruby-framework
|
|
51
|
+
mise x -- bundle exec rake build
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
2
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
|
|
4
|
+
image: archlinux
|
|
5
|
+
packages:
|
|
6
|
+
- bash
|
|
7
|
+
- base-devel
|
|
8
|
+
- curl
|
|
9
|
+
- openssl
|
|
10
|
+
- libyaml
|
|
11
|
+
- zlib
|
|
12
|
+
- readline
|
|
13
|
+
- gdbm
|
|
14
|
+
- ncurses
|
|
15
|
+
- libffi
|
|
16
|
+
- git
|
|
17
|
+
artifacts:
|
|
18
|
+
- ratatui_ruby-framework/pkg/ratatui_ruby-framework-0.1.0.gem
|
|
19
|
+
sources:
|
|
20
|
+
- https://git.sr.ht/~kerrick/ratatui_ruby-framework
|
|
21
|
+
tasks:
|
|
22
|
+
- setup: |
|
|
23
|
+
curl https://mise.jdx.dev/install.sh | sh
|
|
24
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.buildenv
|
|
25
|
+
echo 'eval "$($HOME/.local/bin/mise activate bash)"' >> ~/.buildenv
|
|
26
|
+
echo 'export LANG="en_US.UTF-8"' >> ~/.buildenv
|
|
27
|
+
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.buildenv
|
|
28
|
+
. ~/.buildenv
|
|
29
|
+
export CI="true"
|
|
30
|
+
cd ratatui_ruby-framework
|
|
31
|
+
sed -i 's/ruby = .*/ruby = "3.3"/' mise.toml
|
|
32
|
+
mise install
|
|
33
|
+
mise x -- pip install reuse
|
|
34
|
+
mise x -- gem install bundler:4.0.3
|
|
35
|
+
mise reshim
|
|
36
|
+
mise x -- bundle config set --local frozen 'true'
|
|
37
|
+
mise x -- bundle install
|
|
38
|
+
- test: |
|
|
39
|
+
. ~/.buildenv
|
|
40
|
+
cd ratatui_ruby-framework
|
|
41
|
+
echo "Testing Ruby 3.3"
|
|
42
|
+
mise x -- bundle exec rake test
|
|
43
|
+
- lint: |
|
|
44
|
+
. ~/.buildenv
|
|
45
|
+
cd ratatui_ruby-framework
|
|
46
|
+
echo "Linting Ruby 3.3"
|
|
47
|
+
mise x -- bundle exec rake lint
|
|
48
|
+
- package: |
|
|
49
|
+
. ~/.buildenv
|
|
50
|
+
cd ratatui_ruby-framework
|
|
51
|
+
mise x -- bundle exec rake build
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
2
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
|
|
4
|
+
image: archlinux
|
|
5
|
+
packages:
|
|
6
|
+
- bash
|
|
7
|
+
- base-devel
|
|
8
|
+
- curl
|
|
9
|
+
- openssl
|
|
10
|
+
- libyaml
|
|
11
|
+
- zlib
|
|
12
|
+
- readline
|
|
13
|
+
- gdbm
|
|
14
|
+
- ncurses
|
|
15
|
+
- libffi
|
|
16
|
+
- git
|
|
17
|
+
artifacts:
|
|
18
|
+
- ratatui_ruby-framework/pkg/ratatui_ruby-framework-0.1.0.gem
|
|
19
|
+
sources:
|
|
20
|
+
- https://git.sr.ht/~kerrick/ratatui_ruby-framework
|
|
21
|
+
tasks:
|
|
22
|
+
- setup: |
|
|
23
|
+
curl https://mise.jdx.dev/install.sh | sh
|
|
24
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.buildenv
|
|
25
|
+
echo 'eval "$($HOME/.local/bin/mise activate bash)"' >> ~/.buildenv
|
|
26
|
+
echo 'export LANG="en_US.UTF-8"' >> ~/.buildenv
|
|
27
|
+
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.buildenv
|
|
28
|
+
. ~/.buildenv
|
|
29
|
+
export CI="true"
|
|
30
|
+
cd ratatui_ruby-framework
|
|
31
|
+
sed -i 's/ruby = .*/ruby = "3.4"/' mise.toml
|
|
32
|
+
mise install
|
|
33
|
+
mise x -- pip install reuse
|
|
34
|
+
mise x -- gem install bundler:4.0.3
|
|
35
|
+
mise reshim
|
|
36
|
+
mise x -- bundle config set --local frozen 'true'
|
|
37
|
+
mise x -- bundle install
|
|
38
|
+
- test: |
|
|
39
|
+
. ~/.buildenv
|
|
40
|
+
cd ratatui_ruby-framework
|
|
41
|
+
echo "Testing Ruby 3.4"
|
|
42
|
+
mise x -- bundle exec rake test
|
|
43
|
+
- lint: |
|
|
44
|
+
. ~/.buildenv
|
|
45
|
+
cd ratatui_ruby-framework
|
|
46
|
+
echo "Linting Ruby 3.4"
|
|
47
|
+
mise x -- bundle exec rake lint
|
|
48
|
+
- package: |
|
|
49
|
+
. ~/.buildenv
|
|
50
|
+
cd ratatui_ruby-framework
|
|
51
|
+
mise x -- bundle exec rake build
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
2
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
|
|
4
|
+
image: archlinux
|
|
5
|
+
packages:
|
|
6
|
+
- bash
|
|
7
|
+
- base-devel
|
|
8
|
+
- curl
|
|
9
|
+
- openssl
|
|
10
|
+
- libyaml
|
|
11
|
+
- zlib
|
|
12
|
+
- readline
|
|
13
|
+
- gdbm
|
|
14
|
+
- ncurses
|
|
15
|
+
- libffi
|
|
16
|
+
- git
|
|
17
|
+
artifacts:
|
|
18
|
+
- ratatui_ruby-framework/pkg/ratatui_ruby-framework-0.1.0.gem
|
|
19
|
+
sources:
|
|
20
|
+
- https://git.sr.ht/~kerrick/ratatui_ruby-framework
|
|
21
|
+
tasks:
|
|
22
|
+
- setup: |
|
|
23
|
+
curl https://mise.jdx.dev/install.sh | sh
|
|
24
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.buildenv
|
|
25
|
+
echo 'eval "$($HOME/.local/bin/mise activate bash)"' >> ~/.buildenv
|
|
26
|
+
echo 'export LANG="en_US.UTF-8"' >> ~/.buildenv
|
|
27
|
+
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.buildenv
|
|
28
|
+
. ~/.buildenv
|
|
29
|
+
export CI="true"
|
|
30
|
+
cd ratatui_ruby-framework
|
|
31
|
+
sed -i 's/ruby = .*/ruby = "4.0.0"/' mise.toml
|
|
32
|
+
mise install
|
|
33
|
+
mise x -- pip install reuse
|
|
34
|
+
mise x -- gem install bundler:4.0.3
|
|
35
|
+
mise reshim
|
|
36
|
+
mise x -- bundle config set --local frozen 'true'
|
|
37
|
+
mise x -- bundle install
|
|
38
|
+
- test: |
|
|
39
|
+
. ~/.buildenv
|
|
40
|
+
cd ratatui_ruby-framework
|
|
41
|
+
echo "Testing Ruby 4.0.0"
|
|
42
|
+
mise x -- bundle exec rake test
|
|
43
|
+
- lint: |
|
|
44
|
+
. ~/.buildenv
|
|
45
|
+
cd ratatui_ruby-framework
|
|
46
|
+
echo "Linting Ruby 4.0.0"
|
|
47
|
+
mise x -- bundle exec rake lint
|
|
48
|
+
- package: |
|
|
49
|
+
. ~/.buildenv
|
|
50
|
+
cd ratatui_ruby-framework
|
|
51
|
+
mise x -- bundle exec rake build
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
|
|
2
|
+
# SPDX-License-Identifier: CC0-1.0
|
|
3
|
+
repos:
|
|
4
|
+
- repo: local
|
|
5
|
+
hooks:
|
|
6
|
+
- id: bundle-check
|
|
7
|
+
name: Check Gemfile.lock
|
|
8
|
+
entry: bundle check
|
|
9
|
+
language: system
|
|
10
|
+
files: (Gemfile|Gemfile\.lock|ratatui_ruby-framework\.gemspec)
|
|
11
|
+
pass_filenames: false
|
|
12
|
+
- id: rake
|
|
13
|
+
name: rake
|
|
14
|
+
entry: bundle exec rake
|
|
15
|
+
language: system
|
|
16
|
+
pass_filenames: false
|
data/.rubocop.yml
ADDED
data/AGENTS.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
3
|
+
SPDX-License-Identifier: CC-BY-SA-4.0
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
# AGENTS.md
|
|
7
|
+
|
|
8
|
+
## Project Identity
|
|
9
|
+
|
|
10
|
+
Project Name: ratatui_ruby-framework
|
|
11
|
+
|
|
12
|
+
Description: Part of the RatatuiRuby ecosystem.
|
|
13
|
+
|
|
14
|
+
## 1. Standards
|
|
15
|
+
|
|
16
|
+
### STRICT REQUIREMENTS
|
|
17
|
+
|
|
18
|
+
- Every file MUST begin with an SPDX-compliant header. Use `AGPL-3.0-or-later` for code; `CC-BY-SA-4.0` for documentation. `reuse annotate` can help you generate the header. **For Ruby files**, wrap SPDX comments in `#--` / `#++` to hide them from RDoc output.
|
|
19
|
+
- Every line of Ruby MUST be covered by tests that would stand up to mutation testing.
|
|
20
|
+
- Tests must be meaningful and verify specific behavior or rendering output; simply verifying that code "doesn't crash" is insufficient and unacceptable.
|
|
21
|
+
- **Pre-commit:** Use `agent_rake` to ensure commit-readiness. See Tools for detailed instructions.
|
|
22
|
+
- **Git Pager:** ALWAYS set `PAGER=cat` for ALL `git` commands (e.g., `PAGER=cat git diff`). This is mandatory.
|
|
23
|
+
|
|
24
|
+
### Tools
|
|
25
|
+
|
|
26
|
+
- **NEVER** run `bundle exec rake` directly. **NEVER** run `bundle exec ruby -Ilib:test ...` directly.
|
|
27
|
+
- **ALWAYS use `agent_rake`** (provided by the `ratatui_ruby-devtools` gem) for running tests, linting, or checking compilation.
|
|
28
|
+
- **Usage:**
|
|
29
|
+
- Runs default task (compile + test + lint): `agent_rake`
|
|
30
|
+
- Runs specific task: `agent_rake test:ruby` (for example)
|
|
31
|
+
- **Setup:** `bin/setup` must handle Bundler dependencies.
|
|
32
|
+
- **Git:** ALWAYS set `PAGER=cat` with `git`. **THIS IS CRITICAL!**
|
|
33
|
+
|
|
34
|
+
### Ruby Standards
|
|
35
|
+
|
|
36
|
+
- Use `Data.define` for all value objects (Ruby 3.2+).
|
|
37
|
+
- Define types in `.rbs` files. Don't use `untyped` just because it's easy; be comprehensive and accurate.
|
|
38
|
+
- Every public Ruby class/method must be documented for humans in RDoc.
|
|
39
|
+
|
|
40
|
+
## 2. Committing
|
|
41
|
+
|
|
42
|
+
- Who commits: DON'T stage (DON'T `git add`) unless explicitly instructed. DON'T commit unless explicitly instructed. DO suggest a commit message when you finish.
|
|
43
|
+
- **Format:**
|
|
44
|
+
- Format: Use [Conventional Commits](https://www.conventionalcommits.org/).
|
|
45
|
+
- Body: Explanation if necessary (wrap at 72 chars).
|
|
46
|
+
- **DON'T list the files changed or the edits made in the body.**
|
|
47
|
+
- **DON'T use markdown syntax** (no backticks, no bolding, no lists, no links).
|
|
48
|
+
|
|
49
|
+
## 3. Definition of Done (DoD)
|
|
50
|
+
|
|
51
|
+
Before considering a task complete:
|
|
52
|
+
|
|
53
|
+
1. **Default Rake Task Passes:** Run `agent_rake` (no args). Confirm it passes with ZERO errors.
|
|
54
|
+
2. **Documentation Updated:** If public APIs changed, update relevant docs.
|
|
55
|
+
3. **Changelog Updated:** If public APIs changed, update CHANGELOG.md's **Unreleased** section.
|
|
56
|
+
4. **Commit Message Suggested:** Include a suggested commit message block.
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
3
|
+
SPDX-License-Identifier: CC-BY-SA-4.0
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
# Changelog
|
|
7
|
+
|
|
8
|
+
All notable changes to this project will be documented in this file.
|
|
9
|
+
|
|
10
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
11
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [Unreleased]
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Initial release of ratatui_ruby-framework
|