glark 1.10.4 → 1.10.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,7 @@ require 'glark/util/options'
7
7
 
8
8
  module Glark
9
9
  PACKAGE = 'glark'
10
- VERSION = '1.10.4'
10
+ VERSION = '1.10.5'
11
11
 
12
12
  class InfoOptions < Options
13
13
  attr_reader :colors
@@ -12,22 +12,11 @@ module Glark
12
12
  def initialize fname, range, &blk
13
13
  super fname, range
14
14
 
15
- # Same caveat as ZipFile. Given that this is a gem, I'm not sure if it is
16
- # installed with other package managers. So the require is down here, used
17
- # only if needed.
18
-
19
- begin
20
- require 'zip/zip'
21
- rescue LoadError => e
22
- msg = "error loading zip gem: #{e}\n"
23
- msg << "to install this dependency, run 'gem install rubyzip'"
24
- info "msg: #{msg}".color(:red)
25
- raise msg
26
- end
15
+ check_rubyzip
27
16
  end
28
17
 
29
18
  def get_reader
30
- @zipfile = Zip::ZipFile.new @fname
19
+ @zipfile = Zip::File.new @fname
31
20
  end
32
21
 
33
22
  def read entry
@@ -37,5 +26,41 @@ module Glark
37
26
  def entry_name entry
38
27
  entry.name
39
28
  end
29
+
30
+ def check_rubyzip
31
+ check_rubyzip_exists
32
+ check_rubyzip_version
33
+ end
34
+
35
+ def check_rubyzip_exists
36
+ # Given that this is a gem, I'm not sure if it is installed with other
37
+ # package managers. So the require is down here, used only if needed.
38
+ begin
39
+ require 'zip'
40
+ rescue LoadError => e
41
+ msg = "error loading zip gem: #{e}\n"
42
+ msg << "to install this dependency, run 'gem install rubyzip'"
43
+ info Rainbow::Presenter.new("msg: #{msg}").color(:red)
44
+ raise msg
45
+ end
46
+ check_rubyzip_version
47
+ end
48
+
49
+ def check_rubyzip_version
50
+ require 'zip/version'
51
+ reqver = '1.1.4'
52
+ reqnum = version_to_number reqver
53
+ currnum = version_to_number Zip::VERSION
54
+ if currnum < reqnum
55
+ msg = "error: support for zip files requires rubyzip version >= #{reqver}; current version is #{Zip::VERSION}"
56
+ info Rainbow::Presenter.new("msg: #{msg}").color(:red)
57
+ raise msg
58
+ end
59
+ end
60
+
61
+ def version_to_number ver
62
+ vernums = ver.split('.')
63
+ num = vernums.inject(0) { |s, n| 1000 * s + n.to_i }
64
+ end
40
65
  end
41
66
  end
@@ -38,7 +38,7 @@ class RegexpExpression < Expression
38
38
  def match? line
39
39
  begin
40
40
  @re.match line
41
- rescue => e
41
+ rescue
42
42
  false
43
43
  end
44
44
  end
@@ -13,23 +13,6 @@ module Highlight
13
13
  end
14
14
  end
15
15
 
16
- module Sickill
17
- module Rainbow
18
- class AnsiColor
19
- $-w = false
20
- # includes the aberrant color name in the error message.
21
- def validate_color_name #:nodoc:
22
- color_names = TERM_COLORS.keys
23
-
24
- unless color_names.include?(@color)
25
- raise ArgumentError.new "Unknown color name: '#{@color}'; valid names: #{color_names.join(', ')}"
26
- end
27
- end
28
- $-w = true
29
- end
30
- end
31
- end
32
-
33
16
  class RainbowHighlighter
34
17
  include Singleton
35
18
 
@@ -49,25 +32,25 @@ class RainbowHighlighter
49
32
  def get_code color, type
50
33
  case color
51
34
  when 'bold', 'bright'
52
- Sickill::Rainbow::TERM_EFFECTS[:bright]
35
+ Rainbow::Presenter::TERM_EFFECTS[:bright]
53
36
  when 'reverse', 'negative', 'inverse'
54
- Sickill::Rainbow::TERM_EFFECTS[:inverse]
37
+ Rainbow::Presenter::TERM_EFFECTS[:inverse]
55
38
  when 'underline'
56
- Sickill::Rainbow::TERM_EFFECTS[:underline]
39
+ Rainbow::Presenter::TERM_EFFECTS[:underline]
57
40
  when 'blink'
58
- Sickill::Rainbow::TERM_EFFECTS[:blink]
41
+ Rainbow::Presenter::TERM_EFFECTS[:blink]
59
42
  when %r{^[\dA-Fa-f]{6}$}
60
- ac = Sickill::Rainbow::AnsiColor.new type, color
61
- ac.code
43
+ ac = Rainbow::Color.build type, [ color ]
44
+ ac.codes.join(';')
62
45
  else
63
- ac = Sickill::Rainbow::AnsiColor.new type, color.to_sym
64
- ac.code
46
+ ac = Rainbow::Color.build type, [ color.to_sym ]
47
+ ac.codes.join(';')
65
48
  end
66
49
  end
67
50
 
68
51
  def to_codes color
69
52
  codes = ""
70
- return codes unless Sickill::Rainbow.enabled
53
+ return codes unless Rainbow.enabled
71
54
  color.scan(COLORS_RE).collect do |md|
72
55
  color, type = md[0] ? [ md[0], :background ] : [ md[1], :foreground ]
73
56
  code = get_code color, type
@@ -43,6 +43,25 @@ module Glark
43
43
  run_app_test expected, [ '--file-color', 'yellow', 'The.?M.*Tale' ], *files
44
44
  end
45
45
 
46
+ def test_rgb
47
+ files = [ '/proj/org/incava/glark/test/resources/textfile.txt', '/proj/org/incava/glark/test/resources/filelist.txt' ]
48
+ expected = [
49
+ "/proj/org/incava/glark/test/resources/textfile.txt",
50
+ " 3 -rw-r--r-- 1 jpace jpace 45450 2010-12-04 15:24 02-TheMillersTale.txt",
51
+ " 6 -rw-r--r-- 1 jpace jpace 63290 2010-12-04 15:24 05-TheManOfLawsTale.txt",
52
+ " 11 -rw-r--r-- 1 jpace jpace 65852 2010-12-04 15:24 10-TheMerchantsTale.txt",
53
+ " 20 -rw-r--r-- 1 jpace jpace 49747 2010-12-04 15:24 19-TheMonksTale.txt",
54
+ " 24 -rw-r--r-- 1 jpace jpace 21141 2010-12-04 15:24 23-TheManciplesTale.txt",
55
+ "/proj/org/incava/glark/test/resources/filelist.txt",
56
+ " 3 02-The_Millers_Tale.txt",
57
+ " 6 05-The_Man_Of_Laws_Tale.txt",
58
+ " 11 10-The_Merchants_Tale.txt",
59
+ " 20 19-The_Monks_Tale.txt",
60
+ " 24 23-The_Manciples_Tale.txt",
61
+ ]
62
+ run_app_test expected, [ '--file-color', '#aabbcc', '--text-color', '#f03dda', 'The.?M.*Tale' ], *files
63
+ end
64
+
46
65
  def test_highlight_multi
47
66
  fname = '/proj/org/incava/glark/test/resources/04-TheCooksTale.txt'
48
67
  expected = [
metadata CHANGED
@@ -1,76 +1,90 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glark
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.4
4
+ version: 1.10.5
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Jeff Pace
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-10-20 00:00:00.000000000 Z
12
+ date: 2014-06-18 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: riel
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: 1.2.0
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.2.0
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: logue
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: 1.0.0
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: 1.0.0
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rainbow
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
- version: 1.1.4
53
+ version: 2.0.0
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
- version: 1.1.4
61
+ version: 2.0.0
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: ragol
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: 1.0.0
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: 1.0.0
69
- description: |
70
- Glark searches files for regular expressions, extending grep by matching complex
78
+ description: ! 'Glark searches files for regular expressions, extending grep by matching
79
+ complex
80
+
71
81
  expressions ("and", "or", and "xor"), extracting and searching within compressed
82
+
72
83
  files, and excluding .svn and .git subdirectories by default. Different projects
84
+
73
85
  can have their own Glark configuration.
86
+
87
+ '
74
88
  email: jeugenepace@gmail.com
75
89
  executables:
76
90
  - glark
@@ -194,26 +208,27 @@ files:
194
208
  - test/resources/greet.rb
195
209
  homepage: http://www.incava.org/projects/glark
196
210
  licenses: []
197
- metadata: {}
198
211
  post_install_message:
199
212
  rdoc_options: []
200
213
  require_paths:
201
214
  - lib
202
215
  required_ruby_version: !ruby/object:Gem::Requirement
216
+ none: false
203
217
  requirements:
204
- - - '>='
218
+ - - ! '>='
205
219
  - !ruby/object:Gem::Version
206
220
  version: '0'
207
221
  required_rubygems_version: !ruby/object:Gem::Requirement
222
+ none: false
208
223
  requirements:
209
- - - '>='
224
+ - - ! '>='
210
225
  - !ruby/object:Gem::Version
211
226
  version: '0'
212
227
  requirements: []
213
228
  rubyforge_project:
214
- rubygems_version: 2.0.6
229
+ rubygems_version: 1.8.23
215
230
  signing_key:
216
- specification_version: 4
231
+ specification_version: 3
217
232
  summary: Extended searching of text files.
218
233
  test_files:
219
234
  - test/glark/app/and_test.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: dfdc6d9ef40b4b5c09b5a7c5957b39b6b35d33e7
4
- data.tar.gz: 91b8ef68d27dbfbc99285023675d083df7208148
5
- SHA512:
6
- metadata.gz: af2c59dfac30ecba8c342938d319edaa58424066e25ae27ec1492367195708586b46b3a97bf6f93edeb6ef58c154eee9fd26a5aa4b9be8e95c5020992627a9c8
7
- data.tar.gz: 0bf5f92f6018b2663ffdf7496443c32d9560c49c7a1e932f920debd6e603cfc5e73a90e0ec5f45e57ac718d343115d9c6a289771a88ece7df9891e7a93557793