curses_menu 0.0.5 → 0.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d07858a5e2aad9b9633584a1e0b2c06b9a13ad5b69752ef7b4808ed614e7a889
4
- data.tar.gz: 65f6f0b04deea7b529d136fe6fa3fea72fcfc98cfc0fc8d651863814a4bde162
3
+ metadata.gz: 74becd64c41df7dc7628e8c2b2c416c56f430c53d9be7e3e68698bb6bc1633aa
4
+ data.tar.gz: 02bf486f61ae412243d536912202a36eb03d72d6c3c0e4ff034808221193d3f5
5
5
  SHA512:
6
- metadata.gz: f322978d91a509bf1696d1da056f65a7dc097bf65e61ebf46194c1bc555dad59caadadd8cca9f2c5b8bf4aea87a0d086a22555b8084e06c6a15c56c5a9ccd3f3
7
- data.tar.gz: 744ed073c7e764068f3b97a528255371b70dedd99c1d164e4cc2f8981069dfd8e1ec5c606df74f3b4df00c232d3995cd31037c53401fc7bc092b1e6313da596a
6
+ metadata.gz: d7014fece6ecf47e9f0dba36ee8b835841b8176809a09f52bf16e87892719075da8847427a62b2558068bb15abd6cb12cab0f49b4456693c417740c0d306f77d
7
+ data.tar.gz: c407a1d42c57f39fa7c32488191097186c574fca00bd043e664b7cce45f0fba946d227712f9754025b0c9c72fac342cd721e3429cd2d4427b3d2bc4bfdc6dac6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # [v0.0.6](https://github.com/Muriel-Salvan/curses_menu/compare/v0.0.5...v0.0.6) (2022-10-12 15:48:18)
2
+
3
+ ### Patches
4
+
5
+ * [Bump versions](https://github.com/Muriel-Salvan/curses_menu/commit/ec272ce612c45a127f90613f3133e0186eab8e22)
6
+
1
7
  # [v0.0.5](https://github.com/Muriel-Salvan/curses_menu/compare/v0.0.4...v0.0.5) (2021-08-18 11:48:24)
2
8
 
3
9
  ### Patches
@@ -1,5 +1,5 @@
1
1
  class CursesMenu
2
2
 
3
- VERSION = '0.0.5'
3
+ VERSION = '0.0.6'
4
4
 
5
5
  end
data/lib/curses_menu.rb CHANGED
@@ -74,7 +74,7 @@ class CursesMenu
74
74
  }
75
75
  if current_items[selected_idx][:actions]
76
76
  display_actions.merge!(
77
- current_items[selected_idx][:actions].map do |action_shortcut, action_info|
77
+ current_items[selected_idx][:actions].to_h do |action_shortcut, action_info|
78
78
  [
79
79
  case action_shortcut
80
80
  when KEY_ENTER
@@ -84,7 +84,7 @@ class CursesMenu
84
84
  end,
85
85
  action_info[:name]
86
86
  ]
87
- end.to_h
87
+ end
88
88
  )
89
89
  end
90
90
  print(
@@ -7,7 +7,7 @@ describe CursesMenu do
7
7
  actioned = true
8
8
  end
9
9
  end
10
- expect(actioned).to eq(true)
10
+ expect(actioned).to be(true)
11
11
  end
12
12
 
13
13
  it 'actions the default selection when pressed enter on the correct item' do
@@ -115,7 +115,7 @@ describe CursesMenu do
115
115
  :menu_exit
116
116
  end
117
117
  end
118
- expect(quit).to eq(true)
118
+ expect(quit).to be(true)
119
119
  end
120
120
 
121
121
  it 'navigates in sub-menus' do
@@ -15,9 +15,7 @@ describe CursesMenu do
15
15
  # This test is pending a better support for UTF-8.
16
16
  # cf https://github.com/ruby/curses/issues/65
17
17
  # TODO: Uncomment when Ruby curses will be fixed.
18
- # rubocop:disable Style/AsciiComments
19
18
  # assert_line 3, 'Simple string - 単純な文字列'
20
- # rubocop:enable Style/AsciiComments
21
19
  assert_line 3, /^Simple string - .+$/
22
20
  end
23
21
 
@@ -245,7 +243,7 @@ describe CursesMenu do
245
243
 
246
244
  it 'does not exceed line when several cells are too long' do
247
245
  nbr_visible_chars = Curses.stdscr.maxx
248
- nbr_chars_per_cell = nbr_visible_chars / 3 + 1
246
+ nbr_chars_per_cell = (nbr_visible_chars / 3) + 1
249
247
  test_menu do |menu|
250
248
  menu.item CursesMenu::CursesRow.new(
251
249
  {
@@ -257,13 +255,13 @@ describe CursesMenu do
257
255
  )
258
256
  menu.item 'Menu item 2'
259
257
  end
260
- assert_line 3, "#{'1' * nbr_chars_per_cell} #{'2' * nbr_chars_per_cell} #{'3' * (nbr_visible_chars - 2 * nbr_chars_per_cell - 3)}"
258
+ assert_line 3, "#{'1' * nbr_chars_per_cell} #{'2' * nbr_chars_per_cell} #{'3' * (nbr_visible_chars - (2 * nbr_chars_per_cell) - 3)}"
261
259
  assert_line 4, 'Menu item 2'
262
260
  end
263
261
 
264
262
  it 'does not exceed line when several cells are too long due to separators' do
265
263
  nbr_visible_chars = Curses.stdscr.maxx
266
- nbr_chars_per_cell = nbr_visible_chars / 3 + 1
264
+ nbr_chars_per_cell = (nbr_visible_chars / 3) + 1
267
265
  test_menu do |menu|
268
266
  menu.item CursesMenu::CursesRow.new(
269
267
  {
@@ -274,7 +272,7 @@ describe CursesMenu do
274
272
  )
275
273
  menu.item 'Menu item 2'
276
274
  end
277
- assert_line 3, "#{'1' * nbr_chars_per_cell}#{'2' * nbr_chars_per_cell}#{'3' * (nbr_visible_chars - 2 * nbr_chars_per_cell - 1)}"
275
+ assert_line 3, "#{'1' * nbr_chars_per_cell}#{'2' * nbr_chars_per_cell}#{'3' * (nbr_visible_chars - (2 * nbr_chars_per_cell) - 1)}"
278
276
  assert_line 4, 'Menu item 2'
279
277
  end
280
278
 
@@ -45,7 +45,7 @@ describe CursesMenu do
45
45
  end
46
46
  end
47
47
  assert_line 3, "Menu item #{nbr_visible_items - 2}"
48
- assert_line(-3, "Menu item #{2 * nbr_visible_items - 3}")
48
+ assert_line(-3, "Menu item #{(2 * nbr_visible_items) - 3}")
49
49
  end
50
50
 
51
51
  it 'scrolls by using page down key' do
@@ -56,7 +56,7 @@ describe CursesMenu do
56
56
  end
57
57
  end
58
58
  assert_line 3, "Menu item #{nbr_visible_items - 1}"
59
- assert_line(-3, "Menu item #{nbr_visible_items * 2 - 2}")
59
+ assert_line(-3, "Menu item #{(nbr_visible_items * 2) - 2}")
60
60
  end
61
61
 
62
62
  it 'scrolls by using page up key' do
@@ -78,7 +78,7 @@ describe CursesMenu do
78
78
  end
79
79
  end
80
80
  assert_line 3, "Menu item #{nbr_visible_items}"
81
- assert_line(-3, "Menu item #{nbr_visible_items * 2 - 1}")
81
+ assert_line(-3, "Menu item #{(nbr_visible_items * 2) - 1}")
82
82
  end
83
83
 
84
84
  it 'scrolls by using home key' do
@@ -36,7 +36,7 @@ module CursesMenuTest
36
36
  window.setpos old_y, old_x
37
37
  # Build the map of colors per color pair acutally registered
38
38
  colors_left_shift = Curses::A_COLOR.to_s(2).match(/^1+(0+)$/)[1].size
39
- color_pairs = CursesMenu.constants.select { |const| const.to_s.start_with?('COLORS_') }.map do |const|
39
+ color_pairs = CursesMenu.constants.select { |const| const.to_s.start_with?('COLORS_') }.to_h do |const|
40
40
  color_pair = CursesMenu.const_get(const)
41
41
  [
42
42
  # On Windows using Curses.color_pair can result in bugs [BUG] Unnormalized Fixnum value when using/displaying the value.
@@ -46,7 +46,7 @@ module CursesMenuTest
46
46
  color_pair << colors_left_shift,
47
47
  const
48
48
  ]
49
- end.to_h
49
+ end
50
50
  chars.
51
51
  map do |chr|
52
52
  {
@@ -57,7 +57,7 @@ module CursesMenuTest
57
57
  # In this case we just force an ASCII version of it.
58
58
  (chr & 255).chr(Encoding::UTF_8)
59
59
  end,
60
- color: color_pairs[chr & Curses::A_COLOR] || chr & Curses::A_COLOR,
60
+ color: color_pairs[chr & Curses::A_COLOR] || (chr & Curses::A_COLOR),
61
61
  attributes: chr & Curses::A_ATTRIBUTES
62
62
  }
63
63
  end.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curses_menu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muriel Salvan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-18 00:00:00.000000000 Z
11
+ date: 2022-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curses
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.10'
33
+ version: '3.11'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.10'
40
+ version: '3.11'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sem_ver_components
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.19'
61
+ version: '1.36'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.19'
68
+ version: '1.36'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rubocop-rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.4'
75
+ version: '2.13'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.4'
82
+ version: '2.13'
83
83
  description:
84
84
  email:
85
85
  - muriel@x-aeon.com
@@ -87,17 +87,17 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files:
89
89
  - CHANGELOG.md
90
- - README.md
91
90
  - LICENSE.md
92
- - examples/utf_8.rb
93
- - examples/hello.rb
94
- - examples/sub_menus.rb
91
+ - README.md
92
+ - examples/actions.rb
95
93
  - examples/automatic_key_presses.rb
96
- - examples/refresh.rb
97
94
  - examples/formatting.rb
98
- - examples/several_items.rb
99
- - examples/actions.rb
95
+ - examples/hello.rb
96
+ - examples/refresh.rb
100
97
  - examples/scrolling.rb
98
+ - examples/several_items.rb
99
+ - examples/sub_menus.rb
100
+ - examples/utf_8.rb
101
101
  files:
102
102
  - CHANGELOG.md
103
103
  - LICENSE.md
@@ -126,6 +126,7 @@ licenses:
126
126
  - BSD-3-Clause
127
127
  metadata:
128
128
  homepage_uri: https://github.com/Muriel-Salvan/curses_menu
129
+ rubygems_mfa_required: 'true'
129
130
  post_install_message:
130
131
  rdoc_options: []
131
132
  require_paths:
@@ -141,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
142
  - !ruby/object:Gem::Version
142
143
  version: '0'
143
144
  requirements: []
144
- rubygems_version: 3.1.6
145
+ rubygems_version: 3.3.7
145
146
  signing_key:
146
147
  specification_version: 4
147
148
  summary: Simple menu offering choices with navigation keys using curses