utils 0.0.54 → 0.0.55

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.54
1
+ 0.0.55
data/bin/discover CHANGED
@@ -30,6 +30,7 @@ Options are
30
30
  -a CSET use only character set CSET from PATTERN
31
31
  -I SUFFIX only include files with suffix SUFFIX during finding
32
32
  -b match also binary files
33
+ -v be verbose
33
34
  -h display this help
34
35
 
35
36
  Version is #{File.basename($0)} #{Utils::VERSION}.
@@ -37,7 +38,7 @@ Version is #{File.basename($0)} #{Utils::VERSION}.
37
38
  exit 1
38
39
  end
39
40
 
40
- args = go 'I:a:rdDciebh'
41
+ args = go 'I:a:rdDciebvh'
41
42
  args['h'] and usage
42
43
  pattern = ARGV.shift or usage
43
44
  roots = (ARGV.empty? ? [ Dir.pwd ] : ARGV).map { |f| File.expand_path(f) }
@@ -45,7 +46,7 @@ roots = (ARGV.empty? ? [ Dir.pwd ] : ARGV).map { |f| File.expand_path(f) }
45
46
  Term::ANSIColor.coloring = (STDIN.tty? && ENV['TERM'] !~ /dumb/) && !args['c']
46
47
  STDOUT.sync = true
47
48
  config = Utils::Config::ConfigFile.new
48
- config.parse_config_file File.expand_path('~/.utilsrc')
49
+ config.configure_from_paths
49
50
  args['b'] ||= config.discover.binary
50
51
  finder = Finder.new(
51
52
  :pattern => pattern,
data/bin/probe CHANGED
@@ -28,7 +28,7 @@ def cmd(*args)
28
28
  end
29
29
 
30
30
  $config = Utils::Config::ConfigFile.new
31
- $config.parse_config_file File.expand_path('~/.utilsrc')
31
+ $config.configure_from_paths
32
32
  testrunner_args = []
33
33
  if i = ARGV.index('--')
34
34
  testrunner_args.concat ARGV[(i + 1)..-1]
data/bin/search CHANGED
@@ -49,6 +49,7 @@ Options are
49
49
  -I SUFFIX only include files with suffix SUFFIX in search
50
50
  -e open the matching files with edit command
51
51
  -a CSET use only character set CSET from PATTERN
52
+ -v be verbose
52
53
  -h display this help
53
54
 
54
55
  Version is #{File.basename($0)} #{Utils::VERSION}.
@@ -56,7 +57,7 @@ Version is #{File.basename($0)} #{Utils::VERSION}.
56
57
  exit 1
57
58
  end
58
59
 
59
- args = go 'I:A:B:C:s:S:n:N:a:RciflLeh'
60
+ args = go 'I:A:B:C:s:S:n:N:a:RciflLevh'
60
61
  args['h'] and usage
61
62
  pattern = ARGV.shift or usage
62
63
  roots = (ARGV.empty? ? [ Dir.pwd ] : ARGV).map { |f| File.expand_path(f) }
@@ -64,7 +65,7 @@ roots = (ARGV.empty? ? [ Dir.pwd ] : ARGV).map { |f| File.expand_path(f) }
64
65
  Term::ANSIColor.coloring = (STDIN.tty? && ENV['TERM'] !~ /dumb/) && !args['c']
65
66
  STDOUT.sync = true
66
67
  config = Utils::Config::ConfigFile.new
67
- config.parse_config_file File.expand_path('~/.utilsrc')
68
+ config.configure_from_paths
68
69
  grepper = Grepper.new(
69
70
  :pattern => pattern,
70
71
  :args => args,
data/bin/strip_spaces CHANGED
@@ -38,7 +38,7 @@ paths = paths.map { |p| File.expand_path(p) }
38
38
  suffix = args['I'].ask_and_send(:split, /[\s,]+/).to_a
39
39
 
40
40
  config = Utils::Config::ConfigFile.new
41
- config.parse_config_file File.expand_path('~/.utilsrc')
41
+ config.configure_from_paths
42
42
 
43
43
  find(*(paths + [ { :suffix => suffix} ])) do |filename|
44
44
  bn, s = File.basename(filename), File.stat(filename)
@@ -2,6 +2,15 @@ require 'dslkit/polite'
2
2
  require 'tins/xt/string'
3
3
 
4
4
  class Utils::Config::ConfigFile
5
+ class << self
6
+ attr_accessor :config_file_paths
7
+ end
8
+ self.config_file_paths = [
9
+ '/etc/utilsrc',
10
+ '~/.utilsrc',
11
+ './.utilsrc',
12
+ ]
13
+
5
14
  include DSLKit::Interpreter
6
15
 
7
16
  class ConfigFileError < StandardError; end
@@ -9,14 +18,21 @@ class Utils::Config::ConfigFile
9
18
  def initialize
10
19
  end
11
20
 
12
- def parse_config_file(config_file_name)
13
- File.open(config_file_name) do |cf|
21
+ def configure_from_paths(paths = self.class.config_file_paths)
22
+ for config_file_path in paths
23
+ parse_config_file config_file_path
24
+ end
25
+ end
26
+
27
+ def parse_config_file(config_file_path)
28
+ config_file_path = File.expand_path(config_file_path)
29
+ File.open(config_file_path) do |cf|
14
30
  parse cf.read
15
31
  end
16
32
  self
17
33
  rescue SystemCallError => e
18
34
  $DEBUG and warn "Couldn't read config file "\
19
- "#{config_file_name.inspect}: #{e.class} #{e}"
35
+ "#{config_file_path.inspect}: #{e.class} #{e}"
20
36
  return nil
21
37
  end
22
38
 
@@ -48,7 +64,7 @@ class Utils::Config::ConfigFile
48
64
 
49
65
  def to_ruby
50
66
  result = ''
51
- result << "#{self.class.name[/::([^:]+)\Z/, 1].underscore} do\n"
67
+ result << "#{self.class.name[/::([^:]+)\z/, 1].underscore} do\n"
52
68
  for da in self.class.dsl_attributes
53
69
  result << " #{da} #{Array(__send__(da)).map(&:inspect) * ', '}\n"
54
70
  end
@@ -92,9 +108,9 @@ class Utils::Config::ConfigFile
92
108
  end
93
109
 
94
110
  class Search < FileFinder
95
- config :prune_dirs, /\A(\.svn|\.git|CVS|tmp)\Z/
111
+ config :prune_dirs, /\A(\.svn|\.git|CVS|tmp)\z/
96
112
 
97
- config :skip_files, /(\A\.|\.sw[pon]\Z|\.log\Z|~\Z)/
113
+ config :skip_files, /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
98
114
  end
99
115
 
100
116
  def search(&block)
@@ -105,9 +121,9 @@ class Utils::Config::ConfigFile
105
121
  end
106
122
 
107
123
  class Discover < FileFinder
108
- config :prune_dirs, /\A(\.svn|\.git|CVS|tmp)\Z/
124
+ config :prune_dirs, /\A(\.svn|\.git|CVS|tmp)\z/
109
125
 
110
- config :skip_files, /(\A\.|\.sw[pon]\Z|\.log\Z|~\Z)/
126
+ config :skip_files, /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
111
127
 
112
128
  config :binary, false
113
129
  end
@@ -120,9 +136,9 @@ class Utils::Config::ConfigFile
120
136
  end
121
137
 
122
138
  class StripSpaces < FileFinder
123
- config :prune_dirs, /\A(\..*|CVS)\Z/
139
+ config :prune_dirs, /\A(\..*|CVS)\z/
124
140
 
125
- config :skip_files, /(\A\.|\.sw[pon]\Z|\.log\Z|~\Z)/
141
+ config :skip_files, /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
126
142
  end
127
143
 
128
144
  def strip_spaces(&block)
data/lib/utils/finder.rb CHANGED
@@ -57,11 +57,11 @@ class Utils::Finder
57
57
  begin
58
58
  bn, s = filename.pathname.basename, filename.stat
59
59
  if !s || s.directory? && @config.discover.prune?(bn)
60
- $DEBUG and warn "Pruning #{filename.inspect}."
60
+ @args['v'] and warn "Pruning #{filename.inspect}."
61
61
  prune
62
62
  end
63
63
  if s.file? && @config.discover.skip?(bn)
64
- $DEBUG and warn "Skipping #{filename.inspect}."
64
+ @args['v'] and warn "Skipping #{filename.inspect}."
65
65
  next
66
66
  end
67
67
  paths << filename
@@ -70,7 +70,7 @@ class Utils::Finder
70
70
  paths.uniq!
71
71
  paths.map! { |p| a = File.split(p) ; a.unshift(p) ; a }
72
72
  paths = paths.map! do |path, dir, file|
73
- if do_match = attempt_match?(path) and $DEBUG
73
+ if do_match = attempt_match?(path) and @args['v']
74
74
  warn "Attempt match of #{path.inspect}"
75
75
  end
76
76
  if do_match and match = @pattern.match(file)
data/lib/utils/grepper.rb CHANGED
@@ -71,7 +71,7 @@ class Utils::Grepper
71
71
  @output = []
72
72
  bn, s = File.basename(filename), File.stat(filename)
73
73
  if !s || s.directory? && @config.search.prune?(bn)
74
- $DEBUG and warn "Pruning #{filename.inspect}."
74
+ @args['v'] and warn "Pruning #{filename.inspect}."
75
75
  prune
76
76
  end
77
77
  if s.file? && !@config.search.skip?(bn) &&
@@ -79,18 +79,18 @@ class Utils::Grepper
79
79
  then
80
80
  File.open(filename, 'rb') do |file|
81
81
  if file.binary? != true
82
- $DEBUG and warn "Matching #{filename.inspect}."
82
+ @args['v'] and warn "Matching #{filename.inspect}."
83
83
  if @args['f']
84
84
  @output << filename
85
85
  else
86
86
  match_lines file
87
87
  end
88
88
  else
89
- $DEBUG and warn "Skipping binary file #{filename.inspect}."
89
+ @args['v'] and warn "Skipping binary file #{filename.inspect}."
90
90
  end
91
91
  end
92
92
  else
93
- $DEBUG and warn "Skipping #{filename.inspect}."
93
+ @args['v'] and warn "Skipping #{filename.inspect}."
94
94
  end
95
95
  unless @output.empty?
96
96
  case
data/lib/utils/irb.rb CHANGED
@@ -112,7 +112,7 @@ module Utils
112
112
 
113
113
  attr_reader :description
114
114
 
115
- alias to_str name
115
+ alias to_str description
116
116
 
117
117
  alias inspect description
118
118
 
@@ -136,15 +136,27 @@ module Utils
136
136
  class MethodWrapper < WrapperBase
137
137
  def initialize(obj, name, modul)
138
138
  super(name)
139
- if modul
140
- @arity = obj.instance_method(name).arity
141
- else
142
- @arity = obj.method(name).arity
143
- end
144
- @description = "#@name(#@arity)"
139
+ @method = modul ? obj.instance_method(name) : obj.method(name)
140
+ @description = "#{owner}##@name(#{arity})"
141
+ end
142
+
143
+ attr_reader :method
144
+
145
+ def owner
146
+ method.respond_to?(:owner) ? method.owner : nil
145
147
  end
146
148
 
147
- attr_reader :arity
149
+ def arity
150
+ method.arity
151
+ end
152
+
153
+ def source_location
154
+ method.source_location
155
+ end
156
+
157
+ def <=>(other)
158
+ @description <=> other.description
159
+ end
148
160
  end
149
161
 
150
162
  class ConstantWrapper < WrapperBase
data/lib/utils/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Utils
2
2
  # Utils version
3
- VERSION = '0.0.54'
3
+ VERSION = '0.0.55'
4
4
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/utils.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "utils"
5
- s.version = "0.0.54"
5
+ s.version = "0.0.55"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Florian Frank"]
9
- s.date = "2012-09-05"
9
+ s.date = "2012-09-25"
10
10
  s.description = "This ruby gem provides some useful command line utilities"
11
11
  s.email = "flori@ping.de"
12
12
  s.executables = ["chroot-exec", "chroot-libs", "classify", "create_tags", "discover", "edit", "edit_wait", "enum", "errf", "git-empty", "myex", "number_files", "path", "probe", "same_files", "search", "sedit", "sshscreen", "strip_spaces", "unquarantine_apps", "untest", "utils-install-config", "utils-utilsrc", "vacuum_firefox_sqlite", "xmp"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.54
4
+ version: 0.0.55
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-05 00:00:00.000000000 Z
12
+ date: 2012-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gem_hadar
@@ -256,7 +256,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
256
256
  version: '0'
257
257
  segments:
258
258
  - 0
259
- hash: 2048215407046048042
259
+ hash: 147024533922954409
260
260
  required_rubygems_version: !ruby/object:Gem::Requirement
261
261
  none: false
262
262
  requirements: