ratatui_ruby 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.
Files changed (119) hide show
  1. checksums.yaml +7 -0
  2. data/.build.yml +34 -0
  3. data/.pre-commit-config.yaml +9 -0
  4. data/.rubocop.yml +8 -0
  5. data/.ruby-version +1 -0
  6. data/AGENTS.md +119 -0
  7. data/CHANGELOG.md +15 -0
  8. data/CODE_OF_CONDUCT.md +30 -0
  9. data/CONTRIBUTING.md +40 -0
  10. data/LICENSE +15 -0
  11. data/LICENSES/AGPL-3.0-or-later.txt +661 -0
  12. data/LICENSES/BSD-2-Clause.txt +9 -0
  13. data/LICENSES/CC-BY-SA-4.0.txt +427 -0
  14. data/LICENSES/CC0-1.0.txt +121 -0
  15. data/LICENSES/MIT.txt +21 -0
  16. data/README.md +86 -0
  17. data/REUSE.toml +17 -0
  18. data/Rakefile +108 -0
  19. data/docs/application_testing.md +96 -0
  20. data/docs/contributors/design/ruby_frontend.md +100 -0
  21. data/docs/contributors/design/rust_backend.md +61 -0
  22. data/docs/contributors/design.md +11 -0
  23. data/docs/contributors/index.md +16 -0
  24. data/docs/images/examples-analytics.rb.png +0 -0
  25. data/docs/images/examples-box_demo.rb.png +0 -0
  26. data/docs/images/examples-dashboard.rb.png +0 -0
  27. data/docs/images/examples-login_form.rb.png +0 -0
  28. data/docs/images/examples-map_demo.rb.png +0 -0
  29. data/docs/images/examples-mouse_events.rb.png +0 -0
  30. data/docs/images/examples-scrollbar_demo.rb.png +0 -0
  31. data/docs/images/examples-stock_ticker.rb.png +0 -0
  32. data/docs/images/examples-system_monitor.rb.png +0 -0
  33. data/docs/index.md +18 -0
  34. data/docs/quickstart.md +126 -0
  35. data/examples/analytics.rb +87 -0
  36. data/examples/box_demo.rb +71 -0
  37. data/examples/dashboard.rb +72 -0
  38. data/examples/login_form.rb +114 -0
  39. data/examples/map_demo.rb +58 -0
  40. data/examples/mouse_events.rb +95 -0
  41. data/examples/scrollbar_demo.rb +75 -0
  42. data/examples/stock_ticker.rb +85 -0
  43. data/examples/system_monitor.rb +93 -0
  44. data/examples/test_analytics.rb +65 -0
  45. data/examples/test_box_demo.rb +38 -0
  46. data/examples/test_dashboard.rb +38 -0
  47. data/examples/test_login_form.rb +63 -0
  48. data/examples/test_map_demo.rb +100 -0
  49. data/examples/test_stock_ticker.rb +39 -0
  50. data/examples/test_system_monitor.rb +40 -0
  51. data/ext/ratatui_ruby/.cargo/config.toml +8 -0
  52. data/ext/ratatui_ruby/.gitignore +4 -0
  53. data/ext/ratatui_ruby/Cargo.lock +698 -0
  54. data/ext/ratatui_ruby/Cargo.toml +16 -0
  55. data/ext/ratatui_ruby/extconf.rb +12 -0
  56. data/ext/ratatui_ruby/src/events.rs +279 -0
  57. data/ext/ratatui_ruby/src/lib.rs +105 -0
  58. data/ext/ratatui_ruby/src/rendering.rs +31 -0
  59. data/ext/ratatui_ruby/src/style.rs +149 -0
  60. data/ext/ratatui_ruby/src/terminal.rs +131 -0
  61. data/ext/ratatui_ruby/src/widgets/barchart.rs +73 -0
  62. data/ext/ratatui_ruby/src/widgets/block.rs +12 -0
  63. data/ext/ratatui_ruby/src/widgets/canvas.rs +146 -0
  64. data/ext/ratatui_ruby/src/widgets/center.rs +81 -0
  65. data/ext/ratatui_ruby/src/widgets/cursor.rs +29 -0
  66. data/ext/ratatui_ruby/src/widgets/gauge.rs +50 -0
  67. data/ext/ratatui_ruby/src/widgets/layout.rs +82 -0
  68. data/ext/ratatui_ruby/src/widgets/linechart.rs +154 -0
  69. data/ext/ratatui_ruby/src/widgets/list.rs +62 -0
  70. data/ext/ratatui_ruby/src/widgets/mod.rs +18 -0
  71. data/ext/ratatui_ruby/src/widgets/overlay.rs +20 -0
  72. data/ext/ratatui_ruby/src/widgets/paragraph.rs +56 -0
  73. data/ext/ratatui_ruby/src/widgets/scrollbar.rs +68 -0
  74. data/ext/ratatui_ruby/src/widgets/sparkline.rs +59 -0
  75. data/ext/ratatui_ruby/src/widgets/table.rs +117 -0
  76. data/ext/ratatui_ruby/src/widgets/tabs.rs +51 -0
  77. data/lib/ratatui_ruby/output.rb +7 -0
  78. data/lib/ratatui_ruby/schema/bar_chart.rb +28 -0
  79. data/lib/ratatui_ruby/schema/block.rb +23 -0
  80. data/lib/ratatui_ruby/schema/canvas.rb +62 -0
  81. data/lib/ratatui_ruby/schema/center.rb +19 -0
  82. data/lib/ratatui_ruby/schema/constraint.rb +33 -0
  83. data/lib/ratatui_ruby/schema/cursor.rb +17 -0
  84. data/lib/ratatui_ruby/schema/gauge.rb +24 -0
  85. data/lib/ratatui_ruby/schema/layout.rb +22 -0
  86. data/lib/ratatui_ruby/schema/line_chart.rb +41 -0
  87. data/lib/ratatui_ruby/schema/list.rb +22 -0
  88. data/lib/ratatui_ruby/schema/overlay.rb +15 -0
  89. data/lib/ratatui_ruby/schema/paragraph.rb +37 -0
  90. data/lib/ratatui_ruby/schema/scrollbar.rb +33 -0
  91. data/lib/ratatui_ruby/schema/sparkline.rb +24 -0
  92. data/lib/ratatui_ruby/schema/style.rb +31 -0
  93. data/lib/ratatui_ruby/schema/table.rb +24 -0
  94. data/lib/ratatui_ruby/schema/tabs.rb +22 -0
  95. data/lib/ratatui_ruby/test_helper.rb +75 -0
  96. data/lib/ratatui_ruby/version.rb +10 -0
  97. data/lib/ratatui_ruby.rb +87 -0
  98. data/sig/ratatui_ruby/ratatui_ruby.rbs +16 -0
  99. data/sig/ratatui_ruby/schema/bar_chart.rbs +14 -0
  100. data/sig/ratatui_ruby/schema/block.rbs +11 -0
  101. data/sig/ratatui_ruby/schema/canvas.rbs +62 -0
  102. data/sig/ratatui_ruby/schema/center.rbs +11 -0
  103. data/sig/ratatui_ruby/schema/constraint.rbs +13 -0
  104. data/sig/ratatui_ruby/schema/cursor.rbs +10 -0
  105. data/sig/ratatui_ruby/schema/gauge.rbs +13 -0
  106. data/sig/ratatui_ruby/schema/layout.rbs +11 -0
  107. data/sig/ratatui_ruby/schema/line_chart.rbs +20 -0
  108. data/sig/ratatui_ruby/schema/list.rbs +11 -0
  109. data/sig/ratatui_ruby/schema/overlay.rbs +9 -0
  110. data/sig/ratatui_ruby/schema/paragraph.rbs +11 -0
  111. data/sig/ratatui_ruby/schema/scrollbar.rbs +20 -0
  112. data/sig/ratatui_ruby/schema/sparkline.rbs +12 -0
  113. data/sig/ratatui_ruby/schema/style.rbs +13 -0
  114. data/sig/ratatui_ruby/schema/table.rbs +13 -0
  115. data/sig/ratatui_ruby/schema/tabs.rbs +11 -0
  116. data/sig/ratatui_ruby/test_helper.rbs +11 -0
  117. data/sig/ratatui_ruby/version.rbs +6 -0
  118. data/vendor/goodcop/base.yml +1047 -0
  119. metadata +196 -0
metadata ADDED
@@ -0,0 +1,196 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ratatui_ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Kerrick Long
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rb_sys
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.9'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.9'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake-compiler
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.2'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.2'
40
+ description: ratatui_ruby is a wrapper for the Ratatui Rust crate <https://ratatui.rs>.
41
+ It allows you to cook up Terminal User Interfaces in Ruby.
42
+ email:
43
+ - me@kerricklong.com
44
+ executables: []
45
+ extensions:
46
+ - ext/ratatui_ruby/extconf.rb
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".build.yml"
50
+ - ".pre-commit-config.yaml"
51
+ - ".rubocop.yml"
52
+ - ".ruby-version"
53
+ - AGENTS.md
54
+ - CHANGELOG.md
55
+ - CODE_OF_CONDUCT.md
56
+ - CONTRIBUTING.md
57
+ - LICENSE
58
+ - LICENSES/AGPL-3.0-or-later.txt
59
+ - LICENSES/BSD-2-Clause.txt
60
+ - LICENSES/CC-BY-SA-4.0.txt
61
+ - LICENSES/CC0-1.0.txt
62
+ - LICENSES/MIT.txt
63
+ - README.md
64
+ - REUSE.toml
65
+ - Rakefile
66
+ - docs/application_testing.md
67
+ - docs/contributors/design.md
68
+ - docs/contributors/design/ruby_frontend.md
69
+ - docs/contributors/design/rust_backend.md
70
+ - docs/contributors/index.md
71
+ - docs/images/examples-analytics.rb.png
72
+ - docs/images/examples-box_demo.rb.png
73
+ - docs/images/examples-dashboard.rb.png
74
+ - docs/images/examples-login_form.rb.png
75
+ - docs/images/examples-map_demo.rb.png
76
+ - docs/images/examples-mouse_events.rb.png
77
+ - docs/images/examples-scrollbar_demo.rb.png
78
+ - docs/images/examples-stock_ticker.rb.png
79
+ - docs/images/examples-system_monitor.rb.png
80
+ - docs/index.md
81
+ - docs/quickstart.md
82
+ - examples/analytics.rb
83
+ - examples/box_demo.rb
84
+ - examples/dashboard.rb
85
+ - examples/login_form.rb
86
+ - examples/map_demo.rb
87
+ - examples/mouse_events.rb
88
+ - examples/scrollbar_demo.rb
89
+ - examples/stock_ticker.rb
90
+ - examples/system_monitor.rb
91
+ - examples/test_analytics.rb
92
+ - examples/test_box_demo.rb
93
+ - examples/test_dashboard.rb
94
+ - examples/test_login_form.rb
95
+ - examples/test_map_demo.rb
96
+ - examples/test_stock_ticker.rb
97
+ - examples/test_system_monitor.rb
98
+ - ext/ratatui_ruby/.cargo/config.toml
99
+ - ext/ratatui_ruby/.gitignore
100
+ - ext/ratatui_ruby/Cargo.lock
101
+ - ext/ratatui_ruby/Cargo.toml
102
+ - ext/ratatui_ruby/extconf.rb
103
+ - ext/ratatui_ruby/src/events.rs
104
+ - ext/ratatui_ruby/src/lib.rs
105
+ - ext/ratatui_ruby/src/rendering.rs
106
+ - ext/ratatui_ruby/src/style.rs
107
+ - ext/ratatui_ruby/src/terminal.rs
108
+ - ext/ratatui_ruby/src/widgets/barchart.rs
109
+ - ext/ratatui_ruby/src/widgets/block.rs
110
+ - ext/ratatui_ruby/src/widgets/canvas.rs
111
+ - ext/ratatui_ruby/src/widgets/center.rs
112
+ - ext/ratatui_ruby/src/widgets/cursor.rs
113
+ - ext/ratatui_ruby/src/widgets/gauge.rs
114
+ - ext/ratatui_ruby/src/widgets/layout.rs
115
+ - ext/ratatui_ruby/src/widgets/linechart.rs
116
+ - ext/ratatui_ruby/src/widgets/list.rs
117
+ - ext/ratatui_ruby/src/widgets/mod.rs
118
+ - ext/ratatui_ruby/src/widgets/overlay.rs
119
+ - ext/ratatui_ruby/src/widgets/paragraph.rs
120
+ - ext/ratatui_ruby/src/widgets/scrollbar.rs
121
+ - ext/ratatui_ruby/src/widgets/sparkline.rs
122
+ - ext/ratatui_ruby/src/widgets/table.rs
123
+ - ext/ratatui_ruby/src/widgets/tabs.rs
124
+ - lib/ratatui_ruby.rb
125
+ - lib/ratatui_ruby/output.rb
126
+ - lib/ratatui_ruby/schema/bar_chart.rb
127
+ - lib/ratatui_ruby/schema/block.rb
128
+ - lib/ratatui_ruby/schema/canvas.rb
129
+ - lib/ratatui_ruby/schema/center.rb
130
+ - lib/ratatui_ruby/schema/constraint.rb
131
+ - lib/ratatui_ruby/schema/cursor.rb
132
+ - lib/ratatui_ruby/schema/gauge.rb
133
+ - lib/ratatui_ruby/schema/layout.rb
134
+ - lib/ratatui_ruby/schema/line_chart.rb
135
+ - lib/ratatui_ruby/schema/list.rb
136
+ - lib/ratatui_ruby/schema/overlay.rb
137
+ - lib/ratatui_ruby/schema/paragraph.rb
138
+ - lib/ratatui_ruby/schema/scrollbar.rb
139
+ - lib/ratatui_ruby/schema/sparkline.rb
140
+ - lib/ratatui_ruby/schema/style.rb
141
+ - lib/ratatui_ruby/schema/table.rb
142
+ - lib/ratatui_ruby/schema/tabs.rb
143
+ - lib/ratatui_ruby/test_helper.rb
144
+ - lib/ratatui_ruby/version.rb
145
+ - sig/ratatui_ruby/ratatui_ruby.rbs
146
+ - sig/ratatui_ruby/schema/bar_chart.rbs
147
+ - sig/ratatui_ruby/schema/block.rbs
148
+ - sig/ratatui_ruby/schema/canvas.rbs
149
+ - sig/ratatui_ruby/schema/center.rbs
150
+ - sig/ratatui_ruby/schema/constraint.rbs
151
+ - sig/ratatui_ruby/schema/cursor.rbs
152
+ - sig/ratatui_ruby/schema/gauge.rbs
153
+ - sig/ratatui_ruby/schema/layout.rbs
154
+ - sig/ratatui_ruby/schema/line_chart.rbs
155
+ - sig/ratatui_ruby/schema/list.rbs
156
+ - sig/ratatui_ruby/schema/overlay.rbs
157
+ - sig/ratatui_ruby/schema/paragraph.rbs
158
+ - sig/ratatui_ruby/schema/scrollbar.rbs
159
+ - sig/ratatui_ruby/schema/sparkline.rbs
160
+ - sig/ratatui_ruby/schema/style.rbs
161
+ - sig/ratatui_ruby/schema/table.rbs
162
+ - sig/ratatui_ruby/schema/tabs.rbs
163
+ - sig/ratatui_ruby/test_helper.rbs
164
+ - sig/ratatui_ruby/version.rbs
165
+ - vendor/goodcop/base.yml
166
+ homepage: https://sr.ht/~kerrick/ratatui_ruby/
167
+ licenses:
168
+ - AGPL-3.0-or-later
169
+ metadata:
170
+ allowed_push_host: https://rubygems.org
171
+ homepage_uri: https://sr.ht/~kerrick/ratatui_ruby/
172
+ bug_tracker_uri: https://todo.sr.ht/~kerrick/ratatui_ruby
173
+ changelog_uri: https://git.sr.ht/~kerrick/ratatui_ruby/tree/main/item/CHANGELOG.md
174
+ mailing_list_uri: https://lists.sr.ht/~kerrick/ratatui_ruby-discuss
175
+ source_code_uri: https://git.sr.ht/~kerrick/ratatui_ruby
176
+ documentation_uri: https://man.sr.ht/~kerrick/ratatui_ruby/docs/
177
+ wiki_uri: https://man.sr.ht/~kerrick/ratatui_ruby/docs/contributors/
178
+ funding_uri: https://opencollective.com/ratatui
179
+ rdoc_options: []
180
+ require_paths:
181
+ - lib
182
+ required_ruby_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - '='
185
+ - !ruby/object:Gem::Version
186
+ version: 3.4.7
187
+ required_rubygems_version: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ requirements: []
193
+ rubygems_version: 3.6.9
194
+ specification_version: 4
195
+ summary: "\U0001F48E Unofficial Ruby wrapper for the Ratatui \U0001F468‍\U0001F373\U0001F400."
196
+ test_files: []