remedy 0.3.0 → 0.3.1
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 +4 -4
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/ci.yml +23 -0
- data/.ruby-version +1 -1
- data/README.markdown +9 -9
- data/examples/from_readme/readme.rb +6 -6
- data/examples/menu/menu.rb +3 -3
- data/lib/remedy/version.rb +1 -1
- data/lib/remedy/viewport.rb +0 -1
- data/lib/remedy.rb +1 -1
- data/spec/viewport_spec.rb +1 -1
- metadata +8 -9
- data/lib/remedy/content.rb +0 -4
- data/lib/remedy/footer.rb +0 -4
- data/lib/remedy/header.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2efe0ed0180c60202b73b0cf9f0fce46b51bcfeefe2a83171f4915c9d2b022ad
|
4
|
+
data.tar.gz: 2b11a6544dec2796c6bdf5ce96691be0c7b232f132174d0b79496098252fe5ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c76c67debc47dd95b9b614a6681923cb5e47f53c4135335c39170243bcb9a007630af5bc364894f33489cde79c5692e9a28d97ed0f5caf0bfbe83e229ad394eb
|
7
|
+
data.tar.gz: a001aa18bd36640ebe267c8d6ae4bf68e7e73d60df0017e31875b222ff30b87169c4c36d06130c27096def9e4ccfa26c50ad350ea1d2cf2adbb42228af5dcf8d
|
@@ -0,0 +1,23 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
strategy:
|
11
|
+
fail-fast: false
|
12
|
+
matrix:
|
13
|
+
ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", ruby-head, jruby-9.2, jruby-9.3, jruby-head]
|
14
|
+
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
bundler-cache: true # 'bundle install' and cache gems
|
21
|
+
ruby-version: ${{ matrix.ruby }}
|
22
|
+
- name: Run tests
|
23
|
+
run: bundle exec rspec
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.1.2
|
data/README.markdown
CHANGED
@@ -5,7 +5,7 @@ Remedy is a console interaction framework along the lines of Curses written in p
|
|
5
5
|
|
6
6
|
[](https://rubygems.org/gems/remedy)
|
7
7
|
[](https://rubygems.org/gems/remedy)
|
8
|
-
[](https://github.com/acook/remedy/actions/workflows/ci.yml)
|
9
9
|
[](https://codeclimate.com/github/acook/remedy/maintainability)
|
10
10
|
|
11
11
|
|
@@ -70,20 +70,18 @@ For instance to get a keypress from the terminal and display it:
|
|
70
70
|
screen.draw joke
|
71
71
|
```
|
72
72
|
|
73
|
-
`Remedy::Partial`
|
74
|
-
|
75
|
-
You can use the above classes to divide your Views into 3 separate pieces. Content will be truncated as needed to accommodate the header and footer and the dimensions of the console. You can also specify the cursor/scroll position of the content being drawn, and when specifying headers or footers, you must.
|
73
|
+
Content in `Remedy::Partial`s will be truncated as needed to accommodate the header and footer and the dimensions of the console. You can also specify the cursor/scroll position of the content being drawn, and when specifying headers or footers, you must.
|
76
74
|
|
77
75
|
```ruby
|
78
76
|
include Remedy
|
79
|
-
title =
|
77
|
+
title = Partial.new
|
80
78
|
title << "Someone Said These Were Good"
|
81
79
|
|
82
80
|
jokes = Content.new
|
83
81
|
jokes << %q{1. A woman gets on a bus with her baby. The bus driver says: 'Ugh, that's the ugliest baby I've ever seen!' The woman walks to the rear of the bus and sits down, fuming. She says to a man next to her: 'The driver just insulted me!' The man says: 'You go up there and tell him off. Go on, I'll hold your monkey for you.'}
|
84
82
|
jokes << %q{2. I went to the zoo the other day, there was only one dog in it, it was a shitzu.}
|
85
83
|
|
86
|
-
disclaimer =
|
84
|
+
disclaimer = Partial.new
|
87
85
|
disclaimer << "According to a survey they were funny. I didn't make them."
|
88
86
|
|
89
87
|
screen = Viewport.new
|
@@ -102,7 +100,7 @@ The most interesting function in my opinion is the callback that gets triggered
|
|
102
100
|
screen = Viewport.new
|
103
101
|
|
104
102
|
Console.set_console_resized_hook! do |size|
|
105
|
-
notice =
|
103
|
+
notice = Partial.new
|
106
104
|
notice << "You just resized your screen!\n\nNew size:"
|
107
105
|
notice << size
|
108
106
|
screen.draw notice
|
@@ -114,7 +112,10 @@ Remedy in the Wild
|
|
114
112
|
|
115
113
|
Remedy was originally written for my own console-based game which was sort of like Dwarf Fortress. Most of the project files were lost, but since Remedy was extracted from it and open-sourced it has lived on.
|
116
114
|
|
117
|
-
Here are
|
115
|
+
Here are some projects that use Remedy:
|
116
|
+
|
117
|
+
- A screenreader-friendly code editor for blind and visually impaired programmers: [Viper](https://github.com/edhowland/viper)
|
118
|
+
- [The Official ElasticSearch Ruby Connector](https://github.com/elastic/connectors-ruby)
|
118
119
|
- A multiplayer Yahtzee for web and console: [YahtzeeGame](https://github.com/ProgrammingPractice/YahtzeeGame)
|
119
120
|
- Twitter/RSS/Facebook reader: [noizee](https://github.com/acook/noizee)
|
120
121
|
|
@@ -133,4 +134,3 @@ Contributing
|
|
133
134
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
134
135
|
4. Push to the branch (`git push origin my-new-feature`)
|
135
136
|
5. Create new Pull Request
|
136
|
-
|
@@ -7,7 +7,7 @@ include Remedy
|
|
7
7
|
screen = Viewport.new
|
8
8
|
|
9
9
|
Console.set_console_resized_hook! do |size|
|
10
|
-
notice =
|
10
|
+
notice = Partial.new
|
11
11
|
notice << "You just resized your screen!\n\nNew size:"
|
12
12
|
notice << size
|
13
13
|
|
@@ -16,7 +16,7 @@ end
|
|
16
16
|
|
17
17
|
user_input = Interaction.new "press any key to continue"
|
18
18
|
|
19
|
-
joke =
|
19
|
+
joke = Partial.new
|
20
20
|
joke << "Q: What's the difference between a duck?"
|
21
21
|
joke << "A: Purple, because ice cream has no bones!"
|
22
22
|
|
@@ -24,14 +24,14 @@ screen.draw joke
|
|
24
24
|
|
25
25
|
user_input.get_key
|
26
26
|
|
27
|
-
title =
|
27
|
+
title = Partial.new
|
28
28
|
title << "Someone Said These Were Good"
|
29
29
|
|
30
|
-
jokes =
|
30
|
+
jokes = Partial.new
|
31
31
|
jokes << %q{1. A woman gets on a bus with her baby. The bus driver says: 'Ugh, that's the ugliest baby I've ever seen!' The woman walks to the rear of the bus and sits down, fuming. She says to a man next to her: 'The driver just insulted me!' The man says: 'You go up there and tell him off. Go on, I'll hold your monkey for you.'}
|
32
32
|
jokes << %q{2. I went to the zoo the other day, there was only one dog in it, it was a shitzu.}
|
33
33
|
|
34
|
-
disclaimer =
|
34
|
+
disclaimer = Partial.new
|
35
35
|
disclaimer << "According to a survey they were funny. I didn't make them."
|
36
36
|
|
37
37
|
screen.draw jokes, Size.new(0,0), title, disclaimer
|
@@ -39,7 +39,7 @@ screen.draw jokes, Size.new(0,0), title, disclaimer
|
|
39
39
|
user_input.get_key
|
40
40
|
|
41
41
|
ANSI.cursor.next_line!
|
42
|
-
keys =
|
42
|
+
keys = Partial.new
|
43
43
|
loop_demo = Interaction.new "press q to exit, or any other key to display that key's name\n"
|
44
44
|
loop_demo.loop do |key|
|
45
45
|
keys << key
|
data/examples/menu/menu.rb
CHANGED
@@ -47,7 +47,7 @@ class Menu
|
|
47
47
|
# this creates a new content every time we draw
|
48
48
|
# you may want to only create a new content/header/footer when they change
|
49
49
|
# or create your own Partial subclass
|
50
|
-
c =
|
50
|
+
c = Partial.new
|
51
51
|
c << <<-CONTENT
|
52
52
|
|
53
53
|
1. Do the thing
|
@@ -61,12 +61,12 @@ class Menu
|
|
61
61
|
|
62
62
|
# headers are displayed the top of the viewport
|
63
63
|
def header
|
64
|
-
|
64
|
+
Partial.new << "The time is: #{Time.now}"
|
65
65
|
end
|
66
66
|
|
67
67
|
# footers are displayed the bottom of the viewport
|
68
68
|
def footer
|
69
|
-
|
69
|
+
Partial.new << "Screen size: #{Console.size} You pressed: #{@last_key}"
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
data/lib/remedy/version.rb
CHANGED
data/lib/remedy/viewport.rb
CHANGED
data/lib/remedy.rb
CHANGED
data/spec/viewport_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'remedy/viewport'
|
|
3
3
|
|
4
4
|
describe Remedy::Viewport do
|
5
5
|
it 'should be able to execute the example code from the readme' do
|
6
|
-
joke = ::Remedy::
|
6
|
+
joke = ::Remedy::Partial.new
|
7
7
|
joke << "Q: What's the difference between a duck?"
|
8
8
|
joke << "A: Purple, because ice cream has no bones!"
|
9
9
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remedy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony M. Cook
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -32,6 +32,8 @@ executables: []
|
|
32
32
|
extensions: []
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
+
- ".github/dependabot.yml"
|
36
|
+
- ".github/workflows/ci.yml"
|
35
37
|
- ".gitignore"
|
36
38
|
- ".ruby-gemset"
|
37
39
|
- ".ruby-version"
|
@@ -47,9 +49,6 @@ files:
|
|
47
49
|
- lib/remedy/characters.rb
|
48
50
|
- lib/remedy/console.rb
|
49
51
|
- lib/remedy/console_resize.rb
|
50
|
-
- lib/remedy/content.rb
|
51
|
-
- lib/remedy/footer.rb
|
52
|
-
- lib/remedy/header.rb
|
53
52
|
- lib/remedy/interaction.rb
|
54
53
|
- lib/remedy/key.rb
|
55
54
|
- lib/remedy/keyboard.rb
|
@@ -68,7 +67,7 @@ homepage: http://github.com/acook/remedy
|
|
68
67
|
licenses:
|
69
68
|
- MIT
|
70
69
|
metadata: {}
|
71
|
-
post_install_message:
|
70
|
+
post_install_message:
|
72
71
|
rdoc_options: []
|
73
72
|
require_paths:
|
74
73
|
- lib
|
@@ -83,8 +82,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
83
82
|
- !ruby/object:Gem::Version
|
84
83
|
version: '0'
|
85
84
|
requirements: []
|
86
|
-
rubygems_version: 3.
|
87
|
-
signing_key:
|
85
|
+
rubygems_version: 3.3.7
|
86
|
+
signing_key:
|
88
87
|
specification_version: 4
|
89
88
|
summary: Pure Ruby Console Interaction Library
|
90
89
|
test_files:
|
data/lib/remedy/content.rb
DELETED
data/lib/remedy/footer.rb
DELETED
data/lib/remedy/header.rb
DELETED