webri 2.2.0 → 2.2.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webri/version.rb +1 -1
  3. data/lib/webri.rb +24 -7
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f084a9f5fdfc0a04bc93e780f7a73c4fc371c294c99f10290c22174928f34330
4
- data.tar.gz: 789d05f78b88eafca71373bf3db93ea911bbab28bb34a3a0a180e21054198c8d
3
+ metadata.gz: ba0ef2db19e442871c35e15c179f5de35941e87e5ce1a3d4afe0e1df9c6e19c0
4
+ data.tar.gz: 03b7f263f09d1e02e83cc0a190f47e221c5dc7e5bb1b7487149520fbbb361655
5
5
  SHA512:
6
- metadata.gz: f85eddc468ac54ba0bab2d99330442621a365384c5ace19f7679fc67a4d585e5101feb7303f5db37490fefb2082d588f2cd856ba03068918e5e3371a1af3e3eb
7
- data.tar.gz: b39d8dbde0d310880b6a62383efadaf8509a80c51969c25bcbe64e445e7fa22296abf443b5c5aae13d5d5474b22a6c2cddc5619d6427ffc4935000e04ac76475
6
+ metadata.gz: 863c5f457150c1ac329b767e899afb41e62ea2016095e72d29efb374c080f39cab6888b01cd32132651e1ce8adba108d3deed9efb20a532873debe4c4f8d50c4
7
+ data.tar.gz: 3cb5a5ff87a108a4e026764add4540af14327161004bee077272f52a64a2296e5056b7bd9706d5dbac8051a68956fa4b266d7c5fa89723dc1d2c806095658c60
data/lib/webri/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WebRI
4
- VERSION = "2.2.0"
4
+ VERSION = "2.2.1"
5
5
  end
data/lib/webri.rb CHANGED
@@ -422,13 +422,14 @@ class WebRI
422
422
 
423
423
  # Present choices; return choice.
424
424
  def get_choice_(choices, required: false)
425
+ lines = []
425
426
  index = nil
426
427
  range = (0..choices.size - 1)
427
428
  until range.include?(index)
428
429
  choices.each_with_index do |choice, i|
429
430
  s = "%6d" % i
430
431
  token = WebRI.token(choice)
431
- puts " #{s}: #{token}"
432
+ lines << " #{s}: #{token}"
432
433
  end
433
434
  while true
434
435
  message = if required
@@ -436,8 +437,24 @@ class WebRI
436
437
  else
437
438
  'Type a number to choose, or Return to skip: '
438
439
  end
439
- print message
440
- $stdout.flush
440
+ lines << message
441
+ s = lines.join("\n")
442
+ require "mkmf"
443
+
444
+ pager =
445
+ ENV["PAGER"] ||
446
+ if find_executable("less")
447
+ 'less -RFX'
448
+ else
449
+ 'more'
450
+ end
451
+ begin
452
+ IO.popen(pager, "w") do |io|
453
+ io.puts s
454
+ rescue Errno::EPIPE
455
+ # User exited early.
456
+ end
457
+ end
441
458
  response = $stdin.gets
442
459
  case response
443
460
  when /(\d+)/
@@ -446,7 +463,7 @@ class WebRI
446
463
  when "\n"
447
464
  return nil unless required
448
465
  else
449
-
466
+ # Continue
450
467
  end
451
468
  end
452
469
  end
@@ -582,7 +599,7 @@ HELP
582
599
  }
583
600
 
584
601
  def self.ansi_color(s, color)
585
- return s unless $stdout.tty?
602
+ # return s unless $stdout.tty?
586
603
  "\e[#{ANSI_COLOR[color]}m#{s}\e[0m"
587
604
  end
588
605
 
@@ -639,9 +656,9 @@ HELP
639
656
  There are four types of #{WebRI.variable('name')}, as determined by prefixes:
640
657
 
641
658
  |------------------|----------------|--------------------|
642
- | Type | Starts With | Example |
659
+ | Type | Prefix | Example |
643
660
  |------------------|----------------|--------------------|
644
- | Class/module | Capital letter | #{WebRI.tokenq('Array')} |
661
+ | Class/module | Capital letter | #{WebRI.tokenq('Array')} |
645
662
  | Singleton method | #{WebRI.tokenq('::')} | #{WebRI.tokenq('::new')} |
646
663
  | Instance method | #{WebRI.tokenq('#')} | #{WebRI.tokenq('#inspect')} |
647
664
  | Ruby file | #{WebRI.tokenq('ruby:')} | #{WebRI.tokenq('ruby:syntax_rdoc')} |
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webri
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - BurdetteLamar