tty-screen 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f0cbb3be9dc7a2c6ead432ccd7826162076f6da
4
- data.tar.gz: e407aeb6ff3960e5390935d6b95022cb852f915f
3
+ metadata.gz: cf079c51ac4f0fcb5bb6c29031a77ed0d7bf6bb5
4
+ data.tar.gz: 415b2d5c8e694c8cc3d9b7261b7dedbc20e8b8dd
5
5
  SHA512:
6
- metadata.gz: 2004945e60fbcbd8416a7bbe54e79466c871b4433c53efde1cc64ef93ee5ab06f9aba599e53195a14c375ae01396a6d7347214b10833e52ea7fb7207a1c0b304
7
- data.tar.gz: d5462d5be2dee1bd365749ab395245373fcfd98d8580e2feb4862af0b5d3466aa4f0d01fcdb12632cd1948ce8a57d4f8a8cc4b1f09c875da9c7212671155bd45
6
+ metadata.gz: bed4c21fb89f382f348ebf2548e9b0d0344ed9bd0ab46fbdd9448e405c1c2197dcad9a536c890c60dbd1d1ec104850839fd2edcc54834474aa23abc7e09068ff
7
+ data.tar.gz: 82eb587b1334c125bc509d11259cfb9680218c35d9405912af2f202dfa867c6e9fcbbf11649d06cfc3a27d7e4d4b5575ea9ebab2cfb80cec59cc2a4395f752db
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ 0.4.3 (Nov 1, 2015)
2
+
3
+ * Fix issue with #from_curses method and remove ensure block
4
+ * Add NoValue to Color class to mark failure of reading color value
5
+ * Change Color class supports? to recognize lack of color value
6
+
1
7
  0.4.2 (Oct 31, 2015)
2
8
 
3
9
  * Change visibility of output to prevent warnings
@@ -3,6 +3,8 @@
3
3
  module TTY
4
4
  class Screen
5
5
  class Color
6
+ NoValue = Module.new
7
+
6
8
  # Initialize color support
7
9
  #
8
10
  # @api public
@@ -20,7 +22,12 @@ module TTY
20
22
  def supports?
21
23
  return false unless tty?
22
24
 
23
- from_curses || from_tput || from_term || from_env
25
+ value = false
26
+ %w(from_curses from_tput from_term from_env).each do |from_check|
27
+ break if (value = public_send(from_check)) != NoValue
28
+ end
29
+ return false if value == NoValue
30
+ value
24
31
  end
25
32
 
26
33
  # Attempt to load curses to check color support
@@ -31,16 +38,18 @@ module TTY
31
38
  def from_curses(curses_class = nil)
32
39
  require 'curses'
33
40
 
34
- begin
41
+ if defined?(Curses)
35
42
  curses_class ||= Curses
36
43
  curses_class.init_screen
37
- curses_class.has_colors?
38
- ensure
44
+ has_color = curses_class.has_colors?
39
45
  curses_class.close_screen
46
+ has_color
47
+ else
48
+ NoValue
40
49
  end
41
50
  rescue LoadError
42
51
  warn 'no native curses support' if @verbose
43
- false
52
+ NoValue
44
53
  end
45
54
 
46
55
  # Shell out to tput to check color support
@@ -49,7 +58,7 @@ module TTY
49
58
  def from_tput
50
59
  %x(tput colors 2>/dev/null).to_i > 2
51
60
  rescue Errno::ENOENT
52
- false
61
+ NoValue
53
62
  end
54
63
 
55
64
  # Inspect environment $TERM variable for color support
@@ -60,7 +69,7 @@ module TTY
60
69
  false
61
70
  elsif ENV['TERM'] =~ /^screen|^xterm|^vt100|color|ansi|cygwin|linux/i
62
71
  true
63
- else false
72
+ else NoValue
64
73
  end
65
74
  end
66
75
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TTY
4
4
  class Screen
5
- VERSION = "0.4.2"
5
+ VERSION = "0.4.3"
6
6
  end # Screen
7
7
  end # TTY
@@ -17,11 +17,12 @@ RSpec.describe TTY::Screen::Color, '.supports?' do
17
17
  allow(color).to receive(:require).with('curses').
18
18
  and_raise(LoadError)
19
19
 
20
- expect(color.from_curses).to eq(false)
20
+ expect(color.from_curses).to eq(described_class::NoValue)
21
21
  end
22
22
 
23
23
  it "loads curses for color support" do
24
24
  allow(color).to receive(:require).with('curses').and_return(true)
25
+ stub_const("Curses", Object.new)
25
26
  curses = double(:curses)
26
27
  allow(curses).to receive(:init_screen)
27
28
  allow(curses).to receive(:has_colors?).and_return(true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-screen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Murach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-31 00:00:00.000000000 Z
11
+ date: 2015-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler