icersplicer 1.0.7 → 1.1.3

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
  SHA1:
3
- metadata.gz: d19e22f059ad62dc8dd6c4f43be341eb14e5f3a3
4
- data.tar.gz: a3acc16cb4123dd98c4d76d16efd587309111a15
3
+ metadata.gz: 1ed0550a22c725c9d54bf723d1f708844022d9bc
4
+ data.tar.gz: 8b295dd653c3d6eedcb2bcd741d97814ac7aeb3b
5
5
  SHA512:
6
- metadata.gz: 9f0058e6fefe6ac373d03d256d0020856f53ab323883f19e7712ea72bd1130d719e70fb9a57ae853684a86a4b46e1726808ea0fdee06ab7b8ebd0273e0386311
7
- data.tar.gz: e50323c24f03be0cd75c66a152c9c8b653ad76dd65878784a8fb59b748e4486d38dcc5b59e5820746d4d6fd77d38cf08ffc1b2091fbadbafb09bb4f1b5ee78f1
6
+ metadata.gz: 1ea2903a7adda3b0824898589d2545252c708bec1b3ca2d6221ee0ecd60bcac320b81a003e491bd07b5844808225ad5bcc1a5649953977fbfbe433c851ce86c8
7
+ data.tar.gz: 7511032048d26a6c8deea2f7598e875b08da4082c37ce74a61001258a6730b42ff28833567c0451fe0904489d1406b01e6d8e1aeccdc017fb5fe601a69d3d443
@@ -95,18 +95,18 @@ opts.each do |opt, arg|
95
95
 
96
96
  Features:
97
97
 
98
- Syntax highlighting / On / Off
99
- Head /Tail functionality
100
- Tail follow like tail -f
101
- Support for multiple input for files / wildcards
102
- Ability to Skip lines and line ranges and blank lines
103
- Quiet mode for exporting large files
104
- Countlines in a file
105
- Grep functionality
106
- Search & Replace in a file
107
- Turn off line numbers
108
- Debugging mode
109
- Turn off line numbers
98
+ Syntax highlighting / On / Off
99
+ Head /Tail functionality
100
+ Tail follow like tail -f
101
+ Support for multiple input for files / wildcards
102
+ Ability to Skip lines and line ranges and blank lines
103
+ Quiet mode for exporting large files
104
+ Countlines in a file
105
+ Grep functionality
106
+ Search & Replace in a file
107
+ Turn off line numbers
108
+ Debugging mode
109
+ Turn off line numbers
110
110
 
111
111
  Example:
112
112
 
@@ -278,13 +278,13 @@ begin
278
278
  }
279
279
  }
280
280
  }
281
- rescue
282
- raise NoMethodError, "Please specify a valid filename or wildcard file extension"
281
+ rescue NoMethodError
282
+ raise LoadError, "Please specify a valid filename or wildcard file extension"
283
283
  end
284
284
  rescue Errno::EPIPE, IOError
285
285
  raise IOError, "Closing session due to broken pipe"
286
286
  end
287
- ice.closefile
287
+ ice.close
288
288
  unless instance_variable_defined?("@nostats")
289
289
  ice.filterlinestats(filterlines)
290
290
  ice.stats(inputfile, outputfile)
@@ -20,12 +20,13 @@ include##colour=cyan
20
20
  public##colour=cyan
21
21
  private##colour=cyan
22
22
  protected##colour=cyan
23
- unless##colour=purple
24
- case##colour=purple
25
- when##colour=purple
23
+ unless##colour=magenta
24
+ while##colour=magenta
25
+ case##colour=magenta
26
+ when##colour=magenta
26
27
  do##colour=yellow
27
- if##colour=purple
28
- else##colour=purple
28
+ if##colour=magenta
29
+ else##colour=magenta
29
30
  puts##colour=blue
30
31
  print##colour=blue
31
32
  each##colour=green
@@ -34,7 +35,7 @@ gsub##colour=cyan
34
35
  strip##colour=cyan
35
36
  split##colour=cyan
36
37
  rand##colour=yellow
37
- and##colour=yellow
38
+ and ##colour=yellow
38
39
  raise##colour=yellow
39
40
  trap##colour=blue
40
41
  new##colour=cyan
@@ -43,6 +44,9 @@ nil##colour=cyan
43
44
  .write##colour=cyan
44
45
  .close##colour=cyan
45
46
  .update##colour=cyan
47
+ .glob##colour=cyan
48
+ .upto##colour=cyan
49
+ .downto##colour=cyan
46
50
  ::##colour=white
47
51
  @##colour=yellow
48
52
  ||=##colour=white
@@ -50,6 +54,24 @@ nil##colour=cyan
50
54
  -=##colour=white
51
55
  +=##colour=white
52
56
  =##colour=white
53
- {##colour=white
54
- }##colour=white
55
- exit##colour=purple
57
+ {##colour=red
58
+ }##colour=red
59
+ exit##colour=magenta
60
+ INSERT##colour=green
61
+ INTO##colour=green
62
+ UPDATE##colour=green
63
+ DELETE##colour=green
64
+ FROM##colour=green
65
+ GROUP##colour=green
66
+ BY##colour=green
67
+ ORDER##colour=green
68
+ LIMIT##colour=green
69
+ OFFSET##colour=green
70
+ SELECT##colour=green
71
+ FROM##colour=green
72
+ WHERE##colour=green
73
+ VALUES##colour=green
74
+ AND##colour=green
75
+ OR##colour=green
76
+ NOT##colour=green
77
+ IN##colour=green
@@ -1,11 +1,26 @@
1
- INSERT##colour=purple
2
- INTO##colour=purple
3
- VALUES##colour=purple
1
+ INSERT##colour=magenta
2
+ INTO##colour=magenta
3
+ VALUES##colour=magenta
4
4
  CREATE TABLE##colour=red
5
5
  CREATE SCHEMA##colour=red
6
+ ALTER SEQUENCE##colour=red
7
+ CREATE SEQUENCE##colour=red
8
+ CREATE USER##colour=red
9
+ ALTER USER##colour=red
10
+ COPY##colour=magenta
6
11
  SET SCHEMA##colour=yellow
7
12
  DROP TABLE##colour=red
8
13
  DROP SCHEMA##colour=red
14
+ IGNORE##colour=red
15
+ IF##colour=red
16
+ EXISTS##colour=red
17
+ CONSTRAINT##colour=magenta
18
+ PRIMARY KEY##colour=magenta
19
+ FOREIGN KEY##colour=magenta
20
+ ALTER TABLE##colour=red
21
+ REFERENCES##colour=magenta
22
+ ADD##colour=red
23
+ COMMIT##colour=cyan
9
24
  char
10
25
  integer
11
26
  varchar
@@ -13,8 +28,3 @@ date
13
28
  boolean
14
29
  NOT NULL##colour=white
15
30
  NULL##colour=white
16
- (##colour=cyan
17
- )##colour=cyan
18
- );##colour=cyan
19
- true##colour=blue
20
- false##colour=yellow
@@ -9,7 +9,40 @@
9
9
  #
10
10
  ########################################################################
11
11
  require 'file-tail'
12
+ require 'rainbow'
12
13
 
14
+ module OutputFile
15
+
16
+ @@fileopen = 0
17
+
18
+ def open(outputfile)
19
+ begin
20
+ puts "Openfile: #{outputfile}" if @debug >= 1
21
+ @export = File.open("#{outputfile}", 'w')
22
+ rescue Errno::EACCES
23
+ raise IOError, "Can't create file please check file / directory permissions"
24
+ end
25
+ end
26
+
27
+ def write(data)
28
+ @export.write(data)
29
+ end
30
+
31
+ def close
32
+ begin
33
+ @export.close
34
+ puts "Closing file"
35
+ rescue NoMethodError
36
+ end
37
+ end
38
+
39
+ def processdata(data, outputfile, quietmode)
40
+ open(outputfile) if @@fileopen == 0
41
+ write(data)
42
+ @@fileopen += 1
43
+ end
44
+
45
+ end
13
46
 
14
47
  module Icersplicer
15
48
 
@@ -17,17 +50,18 @@ module Icersplicer
17
50
 
18
51
  attr_writer :nohighlighter, :skip_lines, :keywordsfile, :debug, :nolinenumbers
19
52
 
20
- COLOURS = {"black" => 0,
21
- "red" => 1,
22
- "green" => 2,
23
- "yellow" => 3,
24
- "blue" => 4,
25
- "purple" => 5,
26
- "cyan" => 6,
27
- "white" => 7}
53
+ include OutputFile
54
+
55
+ COLOURS = {0 => "black",
56
+ 1 => "red",
57
+ 2 => "green",
58
+ 3 => "yellow",
59
+ 4 => "blue",
60
+ 5 => "purple",
61
+ 6 => "cyan",
62
+ 7 => "white"}
28
63
 
29
64
  def initialize
30
- @fileopen = 0
31
65
  @keywordsfile = "keywords.ice"
32
66
  @debug = 0
33
67
  @nolinenumbers = false
@@ -83,23 +117,22 @@ module Icersplicer
83
117
  keys ||= load_keywords("#{@keywordsfile}")
84
118
  unless keys.class == Hash
85
119
  keys = {0 => "Ln:",
86
- 1 => "SELECT",
87
- 2 => "CREATE TABLE",
88
- 3 => "UPDATE",
89
- 4 => "DELETE",
90
- 5 => "INSERT"}
120
+ 1 => "SELECT",
121
+ 2 => "CREATE TABLE",
122
+ 3 => "UPDATE",
123
+ 4 => "DELETE",
124
+ 5 => "INSERT"}
91
125
  end
92
126
  cpicker = [2,3,4,1,7,5,6] # Just a selection of colours
93
127
  keys.each {|n|
94
128
  if n[1].split("##")[1] == nil
95
- text.gsub!("#{n[1]}", "\e[4;3#{cpicker[rand(cpicker.size)]}m#{n[1]}\e[0m\ \e[0;32m")
129
+ name = COLOURS[rand(COLOURS.size - 1)]
130
+ text.gsub!("#{n[1]}", Rainbow.new.wrap("#{n[1]}").send(name.to_sym))
96
131
  else
97
- name = n[1].split("##")[1].split("=")[1]; puts "Name: #{name}" if @debug >= 3
98
- cnum = COLOURS[name].to_i; puts "Colour Number: #{cnum}" if @debug >= 3
99
132
  nval = n[1].split("##")[0]; puts "Value: #{nval}" if @debug >= 3
100
- text.gsub!("#{nval}", "\e[4;3#{cnum}m#{nval}\e[0m\ \e[0;32m")
133
+ name = n[1].split("##")[1].split("=")[1]; puts "Value: #{name}" if @debug >= 3
134
+ text.gsub!("#{nval}", Rainbow.new.wrap("#{nval}").send(name.to_sym))
101
135
  end
102
- text.gsub!(" \e[0;32m", "\e[0;32m")
103
136
  }
104
137
  return text
105
138
  end
@@ -157,39 +190,12 @@ module Icersplicer
157
190
  end
158
191
 
159
192
  def print_to_screen(linenum, text, quiet)
160
- unless @nolinenumbers == true
161
- print "\e[1;33mLn: #{linenum}:\e[0m\ "
193
+ unless @nolinenumbers == true or quiet == true
194
+ print Rainbow.new.wrap("Ln: #{linenum}:").yellow
162
195
  end
163
196
  print "#{text}" unless quiet == true
164
197
  end
165
198
 
166
- def openfile(outputfile)
167
- begin
168
- puts "Openfile: #{outputfile}" if @debug >= 1
169
- @export = File.open("#{outputfile}", 'w')
170
- rescue Errno::EACCES
171
- raise IOError, "Can't create file please check file / directory permissions"
172
- end
173
- end
174
-
175
- def writefile(data)
176
- @export.write(data)
177
- end
178
-
179
- def closefile
180
- begin
181
- @export.close
182
- puts "Closing file"
183
- rescue NoMethodError
184
- end
185
- end
186
-
187
- def processdata(data, outputfile, quietmode)
188
- openfile(outputfile) if @fileopen == 0
189
- writefile(data)
190
- @fileopen += 1
191
- end
192
-
193
199
  def stats(inputfile, outputfile)
194
200
  puts "Skip Lines #{@skip_lines}" if @debug >= 1
195
201
  print "Inputfile lines: "
@@ -3,8 +3,8 @@ module Icersplicer
3
3
 
4
4
  module VERSION #:nodoc:
5
5
  MAJOR = 1
6
- MINOR = 0
7
- TINY = 7
6
+ MINOR = 1
7
+ TINY = 3
8
8
  CODENAME = "Icey Blizzard!"
9
9
  STRING = [MAJOR, MINOR, TINY].join('.')
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: icersplicer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Hood
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-31 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: walltime
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rainbow
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.1.0
41
55
  description: Text file manipulation similar to UNIX tools like cat / head / tail
42
56
  email: brianh6854@googlemail.com
43
57
  executables: