ruby-zoom 3.1.1 → 3.1.2

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: ebff587285a99a0ba23191a2804e777bd25c61ee
4
- data.tar.gz: daa4d4164a07af61dc61e49a1ead0d7f18895ddd
3
+ metadata.gz: 6a69c2cba288ca27e2764b47c1c9b5e45b5c1421
4
+ data.tar.gz: fb172ea95ccc3f4a59e3026965483a45d424a88a
5
5
  SHA512:
6
- metadata.gz: d399470ddd80929196185fc768d4bac488b14078b582455c980825145a89bbf2dc3be8e29c1b80037fde82b32066d78725920286df2190b269cbe2825e35f0e4
7
- data.tar.gz: dfc18c77189a0ef1517ec67c5d681e66a1ab9d047b7b1d30ebb3837c20754e5e6ba275f2bac1c44938aa5f9c064e032b04faa67b25cf8808239afd40b940d1ab
6
+ metadata.gz: c3d09ac12e8c720971bf54967dad1dc83477dfc0873e615f4ab871f94a3c58074e1923bbd0dc7348a1952470a4b2fb3a78356fa7b87c0965d18bb3c6aeaf6c08
7
+ data.tar.gz: c16313a83fdc52820e81344ed6251b513e0acb0cadcd3eef8b231e5505481da6310b5c620bf80697273803d9ea05a7abb8a2525c66394a661c850ea64f5a072b
data/bin/z CHANGED
@@ -250,7 +250,7 @@ begin
250
250
  when "repeat"
251
251
  Zoom.instance.repeat
252
252
  when "rc"
253
- Zoom.instance.default
253
+ Zoom.default
254
254
  when "rename"
255
255
  Zoom.instance.rename_profile(
256
256
  options["rename"],
@@ -271,5 +271,8 @@ begin
271
271
  rescue Zoom::Error => e
272
272
  puts e.message
273
273
  exit ZoomExit::EXCEPTION
274
+ rescue Exception => e
275
+ puts e.message
276
+ exit ZoomExit::EXCEPTION
274
277
  end
275
278
  exit ZoomExit::GOOD
data/bin/zc CHANGED
@@ -250,7 +250,7 @@ begin
250
250
  when "repeat"
251
251
  Zoom.instance.repeat
252
252
  when "rc"
253
- Zoom.instance.default
253
+ Zoom.default
254
254
  when "rename"
255
255
  Zoom.instance.rename_profile(
256
256
  options["rename"],
@@ -271,5 +271,8 @@ begin
271
271
  rescue Zoom::Error => e
272
272
  puts e.message
273
273
  exit ZoomExit::EXCEPTION
274
+ rescue Exception => e
275
+ puts e.message
276
+ exit ZoomExit::EXCEPTION
274
277
  end
275
278
  exit ZoomExit::GOOD
data/bin/zf CHANGED
@@ -250,7 +250,7 @@ begin
250
250
  when "repeat"
251
251
  Zoom.instance.repeat
252
252
  when "rc"
253
- Zoom.instance.default
253
+ Zoom.default
254
254
  when "rename"
255
255
  Zoom.instance.rename_profile(
256
256
  options["rename"],
@@ -271,5 +271,8 @@ begin
271
271
  rescue Zoom::Error => e
272
272
  puts e.message
273
273
  exit ZoomExit::EXCEPTION
274
+ rescue Exception => e
275
+ puts e.message
276
+ exit ZoomExit::EXCEPTION
274
277
  end
275
278
  exit ZoomExit::GOOD
data/bin/zg CHANGED
@@ -250,7 +250,7 @@ begin
250
250
  when "repeat"
251
251
  Zoom.instance.repeat
252
252
  when "rc"
253
- Zoom.instance.default
253
+ Zoom.default
254
254
  when "rename"
255
255
  Zoom.instance.rename_profile(
256
256
  options["rename"],
@@ -271,5 +271,8 @@ begin
271
271
  rescue Zoom::Error => e
272
272
  puts e.message
273
273
  exit ZoomExit::EXCEPTION
274
+ rescue Exception => e
275
+ puts e.message
276
+ exit ZoomExit::EXCEPTION
274
277
  end
275
278
  exit ZoomExit::GOOD
data/bin/zl CHANGED
@@ -250,7 +250,7 @@ begin
250
250
  when "repeat"
251
251
  Zoom.instance.repeat
252
252
  when "rc"
253
- Zoom.instance.default
253
+ Zoom.default
254
254
  when "rename"
255
255
  Zoom.instance.rename_profile(
256
256
  options["rename"],
@@ -271,5 +271,8 @@ begin
271
271
  rescue Zoom::Error => e
272
272
  puts e.message
273
273
  exit ZoomExit::EXCEPTION
274
+ rescue Exception => e
275
+ puts e.message
276
+ exit ZoomExit::EXCEPTION
274
277
  end
275
278
  exit ZoomExit::GOOD
data/bin/zr CHANGED
@@ -250,7 +250,7 @@ begin
250
250
  when "repeat"
251
251
  Zoom.instance.repeat
252
252
  when "rc"
253
- Zoom.instance.default
253
+ Zoom.default
254
254
  when "rename"
255
255
  Zoom.instance.rename_profile(
256
256
  options["rename"],
@@ -271,5 +271,8 @@ begin
271
271
  rescue Zoom::Error => e
272
272
  puts e.message
273
273
  exit ZoomExit::EXCEPTION
274
+ rescue Exception => e
275
+ puts e.message
276
+ exit ZoomExit::EXCEPTION
274
277
  end
275
278
  exit ZoomExit::GOOD
@@ -7,6 +7,11 @@ require "string"
7
7
  class Zoom
8
8
  include Singleton
9
9
 
10
+ @@cache_file = Pathname.new("~/.zoom_cache").expand_path
11
+ @@info_file = Pathname.new("~/.zoominfo").expand_path
12
+ @@rc_file = Pathname.new("~/.zoomrc").expand_path
13
+ @@shortcut_file = Pathname.new("~/.zoom_shortcuts").expand_path
14
+
10
15
  def add_profile(
11
16
  name,
12
17
  clas,
@@ -37,7 +42,7 @@ class Zoom
37
42
  end
38
43
 
39
44
  def clear_cache
40
- @cache_file.delete if (@cache_file.exist?)
45
+ @@cache_file.delete if (@@cache_file.exist?)
41
46
  end
42
47
 
43
48
  def configure_editor(editor)
@@ -50,25 +55,26 @@ class Zoom
50
55
  write_zoomrc
51
56
  end
52
57
 
53
- def default
58
+ def self.default
54
59
  default_zoominfo
55
60
  default_zoomrc
56
61
  end
57
62
 
58
- def default_zoominfo
59
- @info = Hash.new
60
- @info["profile"] = "default"
63
+ def self.default_zoominfo
64
+ info = Hash.new
65
+ info["profile"] = "default"
61
66
 
62
67
  # Reset last command to be empty
63
- @info["last_command"] = Hash.new
68
+ info["last_command"] = Hash.new
64
69
 
65
- write_zoominfo
70
+ File.open(@@info_file, "w") do |file|
71
+ file.write(JSON.pretty_generate(info))
72
+ end
66
73
  end
67
- private :default_zoominfo
68
74
 
69
- def default_zoomrc
70
- @rc = Hash.new
71
- @profiles = Hash.new
75
+ def self.default_zoomrc
76
+ rc = Hash.new
77
+ profiles = Hash.new
72
78
 
73
79
  all = nil
74
80
 
@@ -110,34 +116,32 @@ class Zoom
110
116
  find = Zoom::Profile::Find.new
111
117
 
112
118
  # Put profiles into rc
113
- @profiles["ack"] = ack if (ack)
114
- @profiles["ag"] = ag if (ag)
115
- @profiles["all"] = all if (all)
116
- @profiles["default"] = default
117
- @profiles["grep"] = grep
118
- @profiles["passwords"] = Zoom::Profile::Passwords.new
119
- @profiles["zoom_find"] = find
119
+ profiles["ack"] = ack if (ack)
120
+ profiles["ag"] = ag if (ag)
121
+ profiles["all"] = all if (all)
122
+ profiles["default"] = default
123
+ profiles["grep"] = grep
124
+ profiles["passwords"] = Zoom::Profile::Passwords.new
125
+ profiles["zoom_find"] = find
126
+ rc["profiles"] = profiles
120
127
 
121
128
  # Default editor (use $EDITOR)
122
- @rc["editor"] = ""
129
+ rc["editor"] = ""
123
130
 
124
- write_zoomrc
131
+ File.open(@@rc_file, "w") do |file|
132
+ file.write(JSON.pretty_generate(rc))
133
+ end
125
134
  end
126
- private :default_zoomrc
127
135
 
128
136
  def delete_profile(name)
129
- if (name == "default")
130
- raise Zoom::ProfileCanNotBeModifiedError.new(name)
137
+ if (!@profiles.has_key?(name))
138
+ raise Zoom::ProfileDoesNotExistError.new(name)
131
139
  end
132
140
 
133
- if (name == "zoom_find")
141
+ if ((name == "default") || @profiles[name].immutable)
134
142
  raise Zoom::ProfileCanNotBeModifiedError.new(name)
135
143
  end
136
144
 
137
- if (!@profiles.has_key?(name))
138
- raise Zoom::ProfileDoesNotExistError.new(name)
139
- end
140
-
141
145
  @profiles.delete(name)
142
146
  write_zoomrc
143
147
 
@@ -155,16 +159,16 @@ class Zoom
155
159
  envprepend = nil,
156
160
  append = nil
157
161
  )
158
- if (name == "zoom_find")
159
- raise Zoom::ProfileCanNotBeModifiedError.new(name)
160
- end
161
-
162
162
  profile = @profiles[name] if (profile.nil?)
163
163
 
164
164
  if (profile.nil?)
165
165
  raise Zoom::ProfileDoesNotExistsError.new(name)
166
166
  end
167
167
 
168
+ if (profile.immutable)
169
+ raise Zoom::ProfileCanNotBeModifiedError.new(name)
170
+ end
171
+
168
172
  profile.operator(operator) if (operator)
169
173
  profile.flags(flags) if (flags)
170
174
  profile.prepend(envprepend) if (envprepend)
@@ -200,7 +204,7 @@ class Zoom
200
204
 
201
205
  def get_location_of_result(result)
202
206
  count = 0
203
- File.open(@shortcut_file) do |file|
207
+ File.open(@@shortcut_file) do |file|
204
208
  file.each do |line|
205
209
  count += 1
206
210
  if (count == result)
@@ -225,11 +229,6 @@ class Zoom
225
229
  custom_profs = Pathname.new("~/.zoom_profiles.rb").expand_path
226
230
  require_relative custom_profs if (custom_profs.exist?)
227
231
 
228
- @cache_file = Pathname.new("~/.zoom_cache").expand_path
229
- @info_file = Pathname.new("~/.zoominfo").expand_path
230
- @rc_file = Pathname.new("~/.zoomrc").expand_path
231
- @shortcut_file = Pathname.new("~/.zoom_shortcuts").expand_path
232
-
233
232
  read_zoomrc
234
233
  read_zoominfo
235
234
 
@@ -285,16 +284,16 @@ class Zoom
285
284
  end
286
285
 
287
286
  def interactive_edit_profile(name, profile = nil)
288
- if (name == "zoom_find")
289
- raise Zoom::ProfileCanNotBeModifiedError.new(name)
290
- end
291
-
292
287
  profile = @profiles[name] if (profile.nil?)
293
288
 
294
289
  if (profile.nil?)
295
290
  raise Zoom::ProfileDoesNotExistError.new(name)
296
291
  end
297
292
 
293
+ if (profile.immutable)
294
+ raise Zoom::ProfileCanNotBeModifiedError.new(name)
295
+ end
296
+
298
297
  # Get new operator
299
298
  puts "Enter operator (default #{profile.operator}):"
300
299
 
@@ -348,13 +347,13 @@ class Zoom
348
347
  end
349
348
 
350
349
  def list_tags
351
- return if (!@cache_file.exist?)
350
+ return if (!@@cache_file.exist?)
352
351
 
353
352
  # Open shortcut file for writing
354
- shct = File.open(@shortcut_file, "r")
353
+ shct = File.open(@@shortcut_file, "r")
355
354
 
356
355
  # Read in cache
357
- File.open(@cache_file) do |cache|
356
+ File.open(@@cache_file) do |cache|
358
357
  count = 1
359
358
 
360
359
  cache.each do |line|
@@ -431,7 +430,7 @@ class Zoom
431
430
  private :open_editor_to_result
432
431
 
433
432
  def pager
434
- File.open(@cache_file, "w") do |f|
433
+ File.open(@@cache_file, "w") do |f|
435
434
  f.write("ZOOM_EXE_DIR=#{Dir.pwd}\n")
436
435
  begin
437
436
  $stdin.each_line do |line|
@@ -462,18 +461,18 @@ class Zoom
462
461
  private :parse_tags
463
462
 
464
463
  def read_zoominfo
465
- if (!@info_file.exist? && !@info_file.symlink?)
464
+ if (!@@info_file.exist? && !@@info_file.symlink?)
466
465
  default_zoominfo
467
466
  end
468
467
 
469
- @info = JSON.parse(File.read(@info_file))
468
+ @info = JSON.parse(File.read(@@info_file))
470
469
  end
471
470
  private :read_zoominfo
472
471
 
473
472
  def read_zoomrc
474
- default_zoomrc if (!@rc_file.exist? && !@rc_file.symlink?)
473
+ default_zoomrc if (!@@rc_file.exist? && !@@rc_file.symlink?)
475
474
 
476
- @rc = JSON.parse(File.read(@rc_file))
475
+ @rc = JSON.parse(File.read(@@rc_file))
477
476
  @profiles = Hash.new
478
477
  @rc["profiles"].each do |name, prof|
479
478
  @profiles[name] = Zoom::Profile.from_json(prof)
@@ -523,7 +522,7 @@ class Zoom
523
522
  private :remove_colors
524
523
 
525
524
  def shortcut_cache(profile = nil)
526
- return if (!@cache_file.exist?)
525
+ return if (!@@cache_file.exist?)
527
526
  return if (@info["last_command"].empty?)
528
527
 
529
528
  if (profile.nil?)
@@ -531,10 +530,10 @@ class Zoom
531
530
  end
532
531
 
533
532
  # Open shortcut file for writing
534
- shct = File.open(@shortcut_file, "w")
533
+ shct = File.open(@@shortcut_file, "w")
535
534
 
536
535
  # Read in cache
537
- File.open(@cache_file) do |cache|
536
+ File.open(@@cache_file) do |cache|
538
537
  start_dir = ""
539
538
  file = nil
540
539
  filename = ""
@@ -601,7 +600,7 @@ class Zoom
601
600
  end
602
601
 
603
602
  def write_zoominfo
604
- File.open(@info_file, "w") do |file|
603
+ File.open(@@info_file, "w") do |file|
605
604
  file.write(JSON.pretty_generate(@info))
606
605
  end
607
606
  end
@@ -609,7 +608,7 @@ class Zoom
609
608
 
610
609
  def write_zoomrc
611
610
  @rc["profiles"] = @profiles
612
- File.open(@rc_file, "w") do |file|
611
+ File.open(@@rc_file, "w") do |file|
613
612
  file.write(JSON.pretty_generate(@rc))
614
613
  end
615
614
  end
@@ -3,6 +3,7 @@ require "shellwords"
3
3
  require "zoom/profile_class_unknown_error"
4
4
 
5
5
  class Zoom::Profile < Hash
6
+ attr_accessor :immutable
6
7
  attr_accessor :taggable
7
8
 
8
9
  def append(append = nil)
@@ -60,6 +61,8 @@ class Zoom::Profile < Hash
60
61
  self.prepend(envprepend)
61
62
  self.append(append)
62
63
  self.operator(operator)
64
+
65
+ @immutable = false
63
66
  @pager = "z --pager"
64
67
  @taggable = false
65
68
  end
@@ -23,6 +23,7 @@ class Zoom::Profile::Find < Zoom::Profile
23
23
  append = ""
24
24
  )
25
25
  super("find", flags, envprepend, append)
26
+ @immutable = true
26
27
  @taggable = true
27
28
  end
28
29
  end
@@ -1,4 +1,3 @@
1
- require "shellwords"
2
1
  require "zoom/profile"
3
2
  require "zoom/profile/ag"
4
3
  require "zoom/profile/ack"
@@ -63,6 +62,7 @@ class Zoom::Profile::Passwords < Zoom::Profile
63
62
  @profile.prepend,
64
63
  @profile.append
65
64
  )
65
+ @immutable = true
66
66
  @taggable = true
67
67
  end
68
68
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-zoom
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Whittaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-11 00:00:00.000000000 Z
11
+ date: 2015-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest